Skip to content
This repository has been archived by the owner on Nov 19, 2024. It is now read-only.

Commit

Permalink
Merge remote-tracking branch 'origin/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
Sven Speckmaier committed Mar 5, 2019
2 parents fb343d6 + b568fc4 commit 551070d
Showing 1 changed file with 90 additions and 30 deletions.
120 changes: 90 additions & 30 deletions app/EnvironmentAccessConfig/RancherAccessEnvironmentService.php
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
<?php namespace Rancherize\EnvironmentAccessConfig;

use Rancherize\RancherAccess\ArrayRancherAccount;
use Rancherize\RancherAccess\RancherAccessService;

Expand All @@ -11,39 +12,98 @@
class RancherAccessEnvironmentService implements RancherAccessService
{

/**
* @var array
*/
private $account = [];

public function __construct() {
$this->account = [
'url' => getenv('RANCHER_URL'),
'key' => getenv('RANCHER_KEY'),
'secret' => getenv('RANCHER_SECRET')
];
}

/**
* @return string[]
*/
public function availableAccounts() {
return ['default'];
}
/**
* @var array
*/
private $account = [];

public function __construct()
{
$this->account = [
'url' => getenv('RANCHER_URL'),
'key' => getenv('RANCHER_KEY'),
'secret' => getenv('RANCHER_SECRET')
];
}

/**
* @return string[]
*/
public function availableAccounts()
{
return ['default'];
}

/**
* @param string $name
* @return ArrayRancherAccount
*/
public function getAccount(string $name) : ArrayRancherAccount {
$capitalName = strtoupper($name);
if( !empty( getenv('RANCHER_'.$capitalName.'_URL') ) )
return new ArrayRancherAccount([
'url' => getenv('RANCHER_'.$capitalName.'_URL'),
'key' => getenv('RANCHER_'.$capitalName.'_KEY'),
'secret' => getenv('RANCHER_'.$capitalName.'_SECRET')
]);

return new ArrayRancherAccount($this->account);
}
public function getAccount(string $name): ArrayRancherAccount
{

$capitalName = $this->makeCapitalOnlyName($name);
if ($this->nameExistsInEnvironment($capitalName)) {
return $this->makeAccount($capitalName);
}

$environmentName = $this->makeCapitalAndUnderscores($name);
if ($this->nameExistsInEnvironment($environmentName)) {
return $this->makeAccount($environmentName);
}

return new ArrayRancherAccount($this->account);
}

/**
* @param $name
* @return string
*/
protected function makeCapitalOnlyName($name)
{
return strtoupper($name);
}

/**
* @param $name
* @return string
*/
protected function makeCapitalAndUnderscores($name)
{

$capitalName = strtoupper($name);

$capitalNameWithUnderscores = str_replace('-', '_', $capitalName);

return $capitalNameWithUnderscores;
}

/**
* @param $name
* @return bool
*/
protected function nameExistsInEnvironment($name)
{
$url = getenv('RANCHER_' . $name . '_URL');

$urlIsSet = !empty($url);

if ($urlIsSet) {
return true;
}

return false;
}

/**
* @param $name
* @return ArrayRancherAccount
*/
protected function makeAccount($name)
{
return new ArrayRancherAccount([
'url' => getenv('RANCHER_' . $name . '_URL'),
'key' => getenv('RANCHER_' . $name . '_KEY'),
'secret' => getenv('RANCHER_' . $name . '_SECRET')
]);
}
}

0 comments on commit 551070d

Please sign in to comment.