<?php namespace Eae\Transformation\Transformer;

use League\Fractal;
use PageSection;

class PageSectionTransformer extends Fractal\TransformerAbstract
{
    protected $availableIncludes = ['contentModules'];
    protected $defaultIncludes = ['contentModules'];

    public function transform(PageSection $section)
    {
        return [
            'id'      => (int)$section->id,
            'title'   => $section->title,
            'icon'    => $section->icon
        ];
    }

    public function includeContentModules(PageSection $section)
    {
        if (!$section->contentModules) {
            return [];
        }

        return $this->collection($section->contentModules, new ContentModuleTransformer());
    }
}