/** * @return \rtens\domin\Parameter[] * @throws \Exception */ public function parameters() { return array_map(function (Parameter $parameter) { if (array_key_exists($parameter->getName(), $this->paramMap)) { return call_user_func($this->paramMap[$parameter->getName()], $parameter); } return $parameter; }, !is_null($this->parameters) ? $this->parameters : $this->action->parameters()); }
private function givenANonModifyingAction($actionId) { $this->action = Mockster::of(Action::class); $this->app->actions->add($actionId, Mockster::mock($this->action)); Mockster::stub($this->action->execute(Arg::any()))->will()->return_('Value of ' . $actionId); Mockster::stub($this->action->isModifying())->will()->return_(false); Mockster::stub($this->action->caption())->will()->return_('My Foo'); Mockster::stub($this->action->parameters())->will()->return_([new Parameter('one', new StringType())]); }
private function readRawParameters(Action $action) { $values = []; foreach ($action->parameters() as $parameter) { if ($this->reader->has($parameter)) { $values[$parameter->getName()] = $this->reader->read($parameter); } } return $values; }
private function readParameters(ParameterReader $reader, FieldRegistry $fields, Action $action) { $values = ['inflated' => [], 'errors' => []]; foreach ($action->parameters() as $parameter) { if ($reader->has($parameter)) { $field = $fields->getField($parameter); try { $values['inflated'][$parameter->getName()] = $field->inflate($parameter, $reader->read($parameter)); } catch (\Exception $e) { $values['errors'][$parameter->getName()] = $e; } } } return $values; }
private function readParameters(Action $action) { $failed = []; $params = []; foreach ($action->parameters() as $parameter) { try { if ($this->paramReader->has($parameter)) { $inflated = $this->fields->getField($parameter)->inflate($parameter, $this->paramReader->read($parameter)); if ($parameter->getType()->is($inflated)) { $params[$parameter->getName()] = $inflated; continue; } } if ($parameter->isRequired()) { throw new \Exception("[{$parameter->getName()}] is required."); } } catch (\Exception $e) { $failed[$parameter->getName()] = $e; } } return [$params, $failed]; }
private function readParameters(Action $action) { $params = []; $missing = []; foreach ($action->parameters() as $parameter) { if ($this->paramReader->has($parameter)) { $inflated = $this->fields->getField($parameter)->inflate($parameter, $this->paramReader->read($parameter)); if ($parameter->getType()->is($inflated)) { $params[$parameter->getName()] = $inflated; } else { if ($parameter->isRequired()) { $missing[] = $parameter->getName(); } } } else { if ($parameter->isRequired()) { $missing[] = $parameter->getName(); } } } return [$params, $missing]; }
private function thenParameter_ShouldHaveTheDescription($pos, $string) { $this->assert($this->uut->parameters()[$pos - 1]->getDescription(), $string); }