public function testResourceIsFormattingBaseUri() { $this->resource->setBaseUri(''); $this->assertEquals('http://example.com/api/', $this->resource->getBaseUri()); $this->resource->setBaseUri('http://test.COm'); $this->assertEquals('http://test.com/', $this->resource->getBaseUri()); }
/** * @param $data * * @return SerializableResourceInterface */ public function normalize($data) : SerializableResourceInterface { $resource = new Resource(); $resource->setName($data['name']); $resource->setProperties($data['props']); return $resource; }
/** * @param ClassMetadata $metaData * @param $entity * * @return ResourceInterface|Resource * @throws Exception */ protected function createResource(ClassMetadata $metaData, $entity) : Resource { $resource = new Resource(); if (!empty($this->getBaseUri())) { $resource->setBaseUri($this->getBaseUri() . strtolower($resource->getName()) . '/'); } $resource->setClass(get_class($entity)); $resource->setName(strtolower(str_replace($metaData->namespace . '\\', '', $metaData->name))); $resource->setProperties($this->getEntityColumnValues($entity, $metaData)); $resource->setRelations($this->getEmbeddedRelations($entity, $metaData)); return $resource; }
/** * @param Resource $resource * * @return array */ protected function formatIncluded(Resource $resource) : array { $included = []; if (!empty($resource->getRelations())) { $included = ["included" => $this->formatIncludedRelations($resource->getRelations(), $resource)]; } return $included; }