/**
  * Fill a lib's graph object.
  *
  * @param  GraphCommons\Graph\Graph $graph
  * @param  array|object $g
  * @return GraphCommons\Graph\Graph
  */
 private final function fillGraph(Graph $graph, $g) : Graph
 {
     // force input being an object
     $g = Util::toObject($g);
     if (isset($g->id)) {
         $graph->setId($g->id)->setName($g->name)->setDescription($g->description)->setSubtitle($g->subtitle)->setStatus($g->status)->setCreatedAt($g->created_at);
         // add signals if exists
         if (isset($g->signals)) {
             $array = [];
             foreach ($g->signals as $i => $signal) {
                 $action = $signal->action;
                 unset($signal->action);
                 $array[$i]['action'] = Signal::detectAction($action);
                 $array[$i]['parameters'] = Util::toArray($signal);
             }
             $graph->setSignals(SignalCollection::fromArray($array));
         }
     }
     return $graph;
 }
Ejemplo n.º 2
0
 /**
  * If $value is one of the items in $ifNot, return $else
  */
 public static function useIfNot($value, $ifNot, $else = null, $strict = false)
 {
     $ifNot = Util::toArray($ifNot);
     foreach ($ifNot as $i) {
         if ($strict && $value === $i) {
             return $else;
         } elseif (!$strict && $value == $i) {
             return $else;
         }
     }
     return $value;
 }