<?php namespace Eae\Transformation\Transformer;

use League\Fractal;
use ContentModule;

class ContentModuleTransformer extends Fractal\TransformerAbstract
{
    protected $availableIncludes = ['infographics'];
    protected $defaultIncludes = ['infographics'];

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

    public function includeInfographics(ContentModule $module)
    {
        if (!$module->infographics) {
            return [];
        }

        return $this->collection($module->infographics, new InfographicTransformer());
    }
}