/** * @param ReferenceDataInterface $referenceData * @param bool $fallbackOnCode * * @return string|null */ public function render(ReferenceDataInterface $referenceData, $fallbackOnCode = true) { if (null !== ($labelProperty = $referenceData::getLabelProperty())) { $getter = MethodNameGuesser::guess('get', $labelProperty); $label = $referenceData->{$getter}(); if (!empty($label)) { return $label; } } if ($fallbackOnCode) { return sprintf('[%s]', $referenceData->getCode()); } return null; }
function it_normalizes_a_reference_data_model(ReferenceDataInterface $starship) { $starship->getCode()->willReturn('battlecruiser'); $this->normalize($starship, 'xml', [])->shouldReturn(['code' => 'battlecruiser']); $this->normalize($starship, 'json', [])->shouldReturn(['code' => 'battlecruiser']); }
function it_normalizes_reference_data_using_the_default_format(ReferenceDataInterface $referenceData) { $referenceData->getCode()->willReturn('my_code'); $this->normalize($referenceData, null, ['field_name' => 'color'])->shouldReturn(['color' => 'my_code']); }