/** * Decorate a given subject. * * @param object $subject * * @return object */ public function decorate($subject) { foreach ($subject as $key => $atom) { $subject[$key] = $this->autoPresenter->decorate($atom); } return $subject; }
/** * Decorate a given subject. * * @param object $subject * * @return object */ public function decorate($subject) { $items = $this->getItems($subject); foreach ($items->keys() as $key) { $items->put($key, $this->autoPresenter->decorate($items->get($key))); } return $subject; }
/** * Decorate a given subject. * * @param object $subject * * @return object */ public function decorate($subject) { if (is_object($subject)) { $subject = clone $subject; } if ($subject instanceof Model) { foreach ($subject->getRelations() as $relationName => $model) { $subject->setRelation($relationName, $this->autoPresenter->decorate($model)); } } if (!class_exists($presenterClass = $subject->getPresenterClass())) { throw new PresenterNotFoundException($presenterClass); } return $this->container->make($presenterClass, ['resource' => $subject]); }