Skip to content
This repository has been archived by the owner on Dec 3, 2019. It is now read-only.

Commit

Permalink
Merge 7501055 into 6f118cf
Browse files Browse the repository at this point in the history
  • Loading branch information
hugovk committed Nov 4, 2016
2 parents 6f118cf + 7501055 commit 4a7f37f
Show file tree
Hide file tree
Showing 17 changed files with 329 additions and 366 deletions.
10 changes: 1 addition & 9 deletions src/Contracts/FractalBuilder.php
Expand Up @@ -11,10 +11,8 @@

interface FractalBuilder
{

const RESOURCE_COLLECTION = Collection::class;
const RESOURCE_ITEM = Item::class;

const RESOURCE_ITEM = Item::class;

/**
* Sets the meta data to add to the serialized data.
Expand All @@ -38,7 +36,6 @@ public function setMeta(array $meta);
*/
public function setTransformer(TransformerAbstract $transformer);


/**
* Sets the resource key to use for serializing data.
*
Expand All @@ -50,7 +47,6 @@ public function setTransformer(TransformerAbstract $transformer);
*/
public function setResourceKey($resourceKey);


/**
* Sets the paginator to use for serializing data.
* Only applicable for collections.
Expand All @@ -63,7 +59,6 @@ public function setResourceKey($resourceKey);
*/
public function setPaginator(PaginatorInterface $paginator);


/**
* Sets the cursor to use for serializing data.
* Only applicable for collections.
Expand All @@ -76,7 +71,6 @@ public function setPaginator(PaginatorInterface $paginator);
*/
public function setCursor(CursorInterface $cursor);


/**
* Sets the serializer to use for serializing data.
*
Expand All @@ -88,15 +82,13 @@ public function setCursor(CursorInterface $cursor);
*/
public function setSerializer(SerializerAbstract $serializer);


/**
* Returns the data as an array, serializing it first if necessary.
*
* @return array
*/
public function toArray();


/**
* Returns the data as a JSON string, serializing it first if necessary.
*
Expand Down
4 changes: 0 additions & 4 deletions src/Contracts/FractalService.php
Expand Up @@ -8,7 +8,6 @@

interface FractalService
{

/**
* Serializes a single item.
*
Expand All @@ -20,7 +19,6 @@ interface FractalService
*/
public function item($data, TransformerAbstract $transformer = null, $resourceKey = null);


/**
* Serializes a collection of items.
*
Expand All @@ -32,7 +30,6 @@ public function item($data, TransformerAbstract $transformer = null, $resourceKe
*/
public function collection($data, TransformerAbstract $transformer = null, $resourceKey = null);


/**
* Parses includes from either a string (GET query parameter) or an array
* and stores them so that they are available at the time of serialization.
Expand All @@ -43,7 +40,6 @@ public function collection($data, TransformerAbstract $transformer = null, $reso
*/
public function parseIncludes($includes);


/**
* Sets the default serializer to use for serializing data.
*
Expand Down
39 changes: 12 additions & 27 deletions src/FractalBuilder.php
Expand Up @@ -2,22 +2,21 @@

namespace Nord\Lumen\Fractal;

use League\Fractal\Pagination\CursorInterface;
use League\Fractal\Resource\Item;
use League\Fractal\Resource\ResourceAbstract;
use Nord\Lumen\Fractal\Contracts\FractalBuilder as FractalBuilderContract;
use League\Fractal\Manager;
use League\Fractal\Pagination\CursorInterface;
use League\Fractal\Pagination\PaginatorInterface;
use League\Fractal\Resource\Collection;
use League\Fractal\Resource\Item;
use League\Fractal\Resource\ResourceAbstract;
use League\Fractal\Scope;
use League\Fractal\Serializer\SerializerAbstract;
use League\Fractal\TransformerAbstract;
use Nord\Lumen\Fractal\Contracts\FractalBuilder as FractalBuilderContract;
use Nord\Lumen\Fractal\Exceptions\InvalidArgument;
use Nord\Lumen\Fractal\Exceptions\NotApplicable;

class FractalBuilder implements FractalBuilderContract
{

/**
* @var Manager
*/
Expand Down Expand Up @@ -71,7 +70,6 @@ class FractalBuilder implements FractalBuilderContract
self::RESOURCE_ITEM,
];


/**
* FractalBuilder constructor.
*
Expand All @@ -86,9 +84,8 @@ public function __construct(Manager $fractal, $resourceClass, $data)
$this->setData($data);
}


/**
* @inheritdoc
* {@inheritdoc}
*/
public function setMeta(array $meta)
{
Expand All @@ -97,9 +94,8 @@ public function setMeta(array $meta)
return $this;
}


/**
* @inheritdoc
* {@inheritdoc}
*/
public function setTransformer(TransformerAbstract $transformer)
{
Expand All @@ -108,9 +104,8 @@ public function setTransformer(TransformerAbstract $transformer)
return $this;
}


/**
* @inheritdoc
* {@inheritdoc}
*/
public function setResourceKey($resourceKey)
{
Expand All @@ -123,9 +118,8 @@ public function setResourceKey($resourceKey)
return $this;
}


/**
* @inheritdoc
* {@inheritdoc}
*/
public function setPaginator(PaginatorInterface $paginator)
{
Expand All @@ -138,9 +132,8 @@ public function setPaginator(PaginatorInterface $paginator)
return $this;
}


/**
* @inheritdoc
* {@inheritdoc}
*/
public function setCursor(CursorInterface $cursor)
{
Expand All @@ -153,9 +146,8 @@ public function setCursor(CursorInterface $cursor)
return $this;
}


/**
* @inheritdoc
* {@inheritdoc}
*/
public function setSerializer(SerializerAbstract $serializer)
{
Expand All @@ -164,25 +156,22 @@ public function setSerializer(SerializerAbstract $serializer)
return $this;
}


/**
* @inheritdoc
* {@inheritdoc}
*/
public function toArray()
{
return $this->makeScope()->toArray();
}


/**
* @inheritdoc
* {@inheritdoc}
*/
public function toJson()
{
return $this->makeScope()->toJson();
}


/**
* Creates the resource for this builder.
*
Expand All @@ -204,7 +193,6 @@ protected function makeResource()
return $resource;
}


/**
* Creates the scope for this builder.
*
Expand All @@ -221,7 +209,6 @@ protected function makeScope()
return $this->fractal->createData($resource);
}


/**
* @param Manager $fractal
*/
Expand All @@ -234,7 +221,6 @@ private function setFractal(Manager $fractal)
$this->fractal = $fractal;
}


/**
* @param string $resourceClass
*/
Expand All @@ -251,7 +237,6 @@ private function setResourceClass($resourceClass)
$this->resourceClass = $resourceClass;
}


/**
* @param mixed $data
*/
Expand Down
3 changes: 1 addition & 2 deletions src/FractalFacade.php
Expand Up @@ -6,9 +6,8 @@

class FractalFacade extends Facade
{

/**
* @inheritdoc
* {@inheritdoc}
*/
protected static function getFacadeAccessor()
{
Expand Down
3 changes: 0 additions & 3 deletions src/FractalMiddleware.php
Expand Up @@ -7,13 +7,11 @@

class FractalMiddleware
{

/**
* @var FractalService
*/
private $service;


/**
* FractalMiddleware constructor.
*
Expand All @@ -24,7 +22,6 @@ public function __construct(FractalService $service)
$this->service = $service;
}


/**
* Run the request filter.
*
Expand Down
19 changes: 6 additions & 13 deletions src/FractalService.php
Expand Up @@ -2,17 +2,16 @@

namespace Nord\Lumen\Fractal;

use Nord\Lumen\Fractal\Contracts\FractalBuilder as FractalBuilderContract;
use Nord\Lumen\Fractal\Contracts\FractalService as FractalServiceContract;
use League\Fractal\Manager;
use League\Fractal\Serializer\SerializerAbstract;
use League\Fractal\TransformerAbstract;
use Nord\Lumen\Fractal\Contracts\FractalBuilder as FractalBuilderContract;
use Nord\Lumen\Fractal\Contracts\FractalService as FractalServiceContract;

// TODO: Add support for meta data?
class FractalService implements FractalServiceContract
{

/**
* @var array
*/
Expand All @@ -23,27 +22,24 @@ class FractalService implements FractalServiceContract
*/
private $defaultSerializer;


/**
* @inheritdoc
* {@inheritdoc}
*/
public function item($data, TransformerAbstract $transformer = null, $resourceKey = null)
{
return $this->makeBuilder(FractalBuilderContract::RESOURCE_ITEM, $data, $transformer, $resourceKey);
}


/**
* @inheritdoc
* {@inheritdoc}
*/
public function collection($data, TransformerAbstract $transformer = null, $resourceKey = null)
{
return $this->makeBuilder(FractalBuilderContract::RESOURCE_COLLECTION, $data, $transformer, $resourceKey);
}


/**
* @inheritdoc
* {@inheritdoc}
*/
public function parseIncludes($includes)
{
Expand All @@ -54,16 +50,14 @@ public function parseIncludes($includes)
$this->includes = array_merge($this->includes, (array) $includes);
}


/**
* @inheritdoc
* {@inheritdoc}
*/
public function setDefaultSerializer(SerializerAbstract $serializer)
{
$this->defaultSerializer = $serializer;
}


/**
* Creates a builder for serializing data.
*
Expand Down Expand Up @@ -94,7 +88,6 @@ protected function makeBuilder(
return $builder;
}


/**
* @return Manager
*/
Expand Down

0 comments on commit 4a7f37f

Please sign in to comment.