<?php

namespace App\Http\Resources;

use Illuminate\Http\Resources\Json\ResourceCollection;
use Illuminate\Support\Str;

class BlockCollectionResource extends ResourceCollection
{
    /**
     * Transform the resource collection into an array.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return array
     */
    public function toArray($request)
    {
        $items = [];

        foreach($this->resource as $item) {
            $blockType = $item->type;
            $blockClass = 'App\\Http\\Resources\\Blocks\\' . Str::studly($blockType) . 'Resource';
            $items[] = new $blockClass($item);
        }
        return $items;
    }
}
