Skip to content

Commit

Permalink
Merge 4ca1dfd into faac3a4
Browse files Browse the repository at this point in the history
  • Loading branch information
grasmash committed Dec 16, 2017
2 parents faac3a4 + 4ca1dfd commit 0730e88
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 1 deletion.
8 changes: 8 additions & 0 deletions src/Expander.php
Expand Up @@ -241,6 +241,14 @@ public static function expandPropertyWithReferenceData(
*/
public static function expandProperty($property_name, $unexpanded_value, $data)
{
if (strpos($property_name, "env.") === 0 &&
!$data->has($property_name)) {
$env_key = substr($property_name, 4);
if (getenv($env_key)) {
$data->set($property_name, getenv($env_key));
}
}

if (!$data->has($property_name)) {
self::log("Property \${'$property_name'} could not be expanded.");
return $unexpanded_value;
Expand Down
2 changes: 2 additions & 0 deletions tests/phpunit/ExpanderTest.php
Expand Up @@ -21,7 +21,9 @@ class ExpanderTest extends \PHPUnit_Framework_TestCase
public function testExpandArrayProperties($filename, $reference_array)
{
$array = Yaml::parse(file_get_contents(__DIR__ . "/../resources/$filename"));
putenv("test=gomjabbar");
$expanded = Expander::expandArrayProperties($array);
$this->assertEquals('gomjabbar', $expanded['env-test']);
$this->assertEquals('Frank Herbert 1965', $expanded['book']['copyright']);
$this->assertEquals('Paul Atreides', $expanded['book']['protaganist']);
$this->assertEquals('Dune by Frank Herbert', $expanded['summary']);
Expand Down
3 changes: 2 additions & 1 deletion tests/resources/valid.yml
Expand Up @@ -31,4 +31,5 @@ product-name: ${${type}.title}
boolean-value: true
null-value: null
inline-array: [ one, two, three ]
expand-array: ${inline-array}
expand-array: ${inline-array}
env-test: ${env.test}

0 comments on commit 0730e88

Please sign in to comment.