Commit 11d365ea authored by endi's avatar endi

Add Fractal decorator

parent ef4f5312
<?php namespace Terranet\Restable;
use Fractal;
use Illuminate\Contracts\Routing\ResponseFactory;
use Illuminate\Support\MessageBag;
use Illuminate\Contracts\Support\MessageProvider AS MessageProviderInterface;
use Illuminate\Support\Facades\Response as LaravelResponse;
use League\Fractal\Manager;
use League\Fractal\Resource\Collection;
use League\Fractal\Resource\Item;
use Terranet\Restable\Contracts\SelfRendered;
......@@ -16,10 +16,19 @@ class FractalDecorator implements SelfRendered
* @var SelfRendered
*/
private $selfRendered;
/**
* @var Manager
*/
private $fractalManager;
public function __construct(SelfRendered $selfRendered)
/**
* @param SelfRendered $selfRendered
* @param Manager $fractalManager
*/
public function __construct(SelfRendered $selfRendered, Manager $fractalManager)
{
$this->selfRendered = $selfRendered;
$this->fractalManager = $fractalManager;
}
/**
......@@ -85,7 +94,7 @@ class FractalDecorator implements SelfRendered
*/
protected function fractalItem($object, $transformer)
{
return Fractal::createData(new Item($object, $transformer));
return $this->fractalManager->createData(new Item($object, $transformer));
}
/**
......@@ -95,7 +104,7 @@ class FractalDecorator implements SelfRendered
*/
protected function fractalCollection($collection, $transformer)
{
return Fractal::createData(new Collection($collection, $transformer));
return $this->fractalManager->createData(new Collection($collection, $transformer));
}
/**
......
......@@ -2,6 +2,7 @@
use Illuminate\Support\ServiceProvider;
use Illuminate\Routing\ResponseFactory;
use League\Fractal\Manager AS FractalManager;
class RestableServiceProvider extends ServiceProvider
{
......@@ -45,7 +46,8 @@ class RestableServiceProvider extends ServiceProvider
$converter = new Format;
return new FractalDecorator(
new SelfRenderedAdapter(new Restable($app['config'], $response, $converter))
new SelfRenderedAdapter(new Restable($app['config'], $response, $converter)),
new FractalManager
);
});
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment