/** * @param Parameter $parameter * @param mixed $serialized * @return mixed */ public function inflate(Parameter $parameter, $serialized) { $innerParameter = $this->getInnerParameter($parameter); if (!$this->reader->has($innerParameter) || !$serialized || strtolower($serialized) == 'n') { return null; } $field = $this->getField($innerParameter); return $field->inflate($innerParameter, $this->reader->read($innerParameter)); }
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; }
/** * @param Parameter $parameter * @param string $serialized * @return Html */ public function inflate(Parameter $parameter, $serialized) { $lines = []; $line = $serialized; while ($line) { $lines[] = $line; $lineParameter = $this->lineParameter($parameter, count($lines)); $line = $this->reader->has($lineParameter) ? $this->reader->read($lineParameter) : null; } return new Html(implode(PHP_EOL, $lines)); }
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 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 given_HasTheValue($parameterName, $value) { $parameter = $this->parameter($parameterName); Mockster::stub($this->reader->has($parameter))->will()->return_(true); Mockster::stub($this->reader->read($parameter))->will()->return_($value); }
protected function before() { $this->reader = Mockster::of(ParameterReader::class); Mockster::stub($this->reader->read(Argument::any()))->will()->forwardTo(function (Parameter $parameter) { return $this->parameters[$parameter->getName()]; }); Mockster::stub($this->reader->has(Argument::any()))->will()->forwardTo(function (Parameter $parameter) { return array_key_exists($parameter->getName(), $this->parameters); }); }