Example #1
0
 function it_returns_default_if_nested_index_not_found()
 {
     $array = array('a' => array('b' => array('c' => 'bingo!')));
     $keys = array('a', 'b', 'd');
     assert(\Myna\Arr::get_nested($array, $keys, false) === false);
     $keys = array('a', 'g');
     assert(\Myna\Arr::get_nested($array, $keys, false) === false);
 }
Example #2
0
 /**
  * Construct a Variant from an Array of data
  */
 public static function fromArray($options)
 {
     $name = "\\Myna\\Data\\Variant::fromArray";
     $id = \Myna\Arr::get_or_error($options, 'id', $name);
     $name = \Myna\Arr::get($options, 'name', $id);
     $weight = \Myna\Arr::get_or_error($options, 'weight', $name);
     $settings = Settings::fromArray(\Myna\Arr::get($options, 'settings', array()));
     return new Variant($id, $name, $weight, $settings);
 }
Example #3
0
 /**
  * Construct a Deployment from an Array of data, typically from
  * JSON from the API.
  */
 public static function fromArray($options)
 {
     $name = "\\Myna\\Data\\Deployment::fromArray";
     $uuid = \Myna\Arr::get_or_error($options, 'uuid', $name);
     $apiKey = \Myna\Arr::get_or_error($options, 'apiKey', $name);
     $apiRoot = \Myna\Arr::get_or_error($options, 'apiRoot', $name);
     $latest = \Myna\Arr::get_or_error($options, 'latest', $name);
     $experiments = array();
     $expts = \Myna\Arr::get($options, 'experiments', array());
     foreach ($expts as $expt) {
         array_push($experiments, Experiment::fromArray($expt));
     }
     return new Deployment($uuid, $apiKey, $apiRoot, $latest, $experiments);
 }
Example #4
0
 /**
  * Get a Variant gives its ID, or false if no variant exists.
  *
  * @return Variant or false
  */
 public function variant($id)
 {
     return \Myna\Arr::get($this->variants, $id, false);
 }
Example #5
0
 /**
  * Returns true if the setting indicate this experiment is sticky.
  */
 public function is_sticky()
 {
     return \Myna\Arr::get_nested($this->nodes, array('myna', 'web', 'sticky'), true);
 }