/**
  * Register the presenter decorator.
  *
  * @param \Illuminate\Contracts\Container\Container $app
  *
  * @return void
  */
 public function registerAutoPresenter(Container $app)
 {
     $app->singleton('autopresenter', function (Container $app) {
         $autoPresenter = new AutoPresenter();
         $autoPresenter->register($app->make(AtomDecorator::class, ['autoPresenter' => $autoPresenter, 'app' => $app]));
         $autoPresenter->register($app->make(ArrayDecorator::class, ['autoPresenter' => $autoPresenter]));
         $autoPresenter->register($app->make(PaginatorDecorator::class, ['autoPresenter' => $autoPresenter]));
         return $autoPresenter;
     });
     $app->alias('autopresenter', AutoPresenter::class);
 }
 /**
  * Register the presenter decorator.
  *
  * @param \Illuminate\Contracts\Foundation\Application $app
  *
  * @return void
  */
 public function registerAutoPresenter(Application $app)
 {
     $app->singleton('autopresenter', function (Application $app) {
         $autoPresenter = new AutoPresenter();
         $autoPresenter->register(new AtomDecorator($autoPresenter, $app));
         $autoPresenter->register(new ArrayDecorator($autoPresenter));
         $autoPresenter->register(new PaginatorDecorator($autoPresenter));
         return $autoPresenter;
     });
     $app->alias('autopresenter', AutoPresenter::class);
 }