Exemplo n.º 1
0
 public function serialize(Resource $resource, array $includesCollections = [])
 {
     $data = ['data' => $resource->serialize()];
     if (count($includesCollections) > 0) {
         $data['included'] = [];
     }
     foreach ($includesCollections as $includesCollection) {
         foreach ($includesCollection->serialize() as $row) {
             $data['included'][] = $row;
         }
     }
     return $data;
 }
Exemplo n.º 2
0
 public function collect(Resource $resource)
 {
     $serializer = $resource->getSerializer();
     $collections = new ProcessingCollections($serializer->getName(), $this->registry->resolveNestedSerializers($serializer));
     // Load direct children of the resource into collections
     if ($resource instanceof ResourceCollection) {
         foreach ($resource as $item) {
             $collections->process($serializer, $item);
         }
     } else {
         $collections->process($serializer, $resource->unwrap());
     }
     $collections->processNested();
     return $collections->toResourceCollections();
 }
Exemplo n.º 3
0
 function it_serializes_an_included_resource_under_the_included_namespace(Resource $resource, Resource $includedResource)
 {
     $resource->serialize()->willReturn(['id' => 1, 'name' => 'test']);
     $includedResource->serialize()->willReturn([['id' => 2, 'name' => 'test_2']]);
     $this->serialize($resource, [$includedResource])->shouldReturn(['data' => ['id' => 1, 'name' => 'test'], 'included' => [['id' => 2, 'name' => 'test_2']]]);
 }