/**
  * @return null
  */
 protected function loadLayout()
 {
     $params = $this->params;
     $layout = Background::whereSlug($params['layout'])->with('images')->first();
     if (count($layout->images) == 0) {
         return;
     }
     // PREPARE RULES
     $rules = $this->prepareRules();
     CW::info(['Rules' => $rules]);
     // POCESS META
     $metas = $this->prepareMetas($layout->meta['backgrounds']);
     CW::info(['Meta' => $metas]);
     // ASSIGN SIZES
     // Asiign sizes and class
     $layout->images->each(function ($image) {
         $image->class_name = preg_replace('#\\.(jpg|png|svg)#', '', $image->file_name);
         $this->getSizes($image);
     });
     // ASSIGN IMAGES
     $images = $layout->images;
     // PROCESS STYLES
     $styles = $this->processStyles($rules, $metas, $images, $params['layout']);
     // return; // TEMP
     // RETURN for POST
     return compact('styles', 'images');
 }
 public function run()
 {
     // Layouts
     $layouts = (require_once 'data/backgrounds.php');
     $path = "./storage/app/media/backgrounds";
     $fileData = $this->fillArrayWithFileNodes(new \DirectoryIterator($path), ["jpg"]);
     foreach ($layouts as $layout) {
         $model = Background::create($layout);
         $this->assignImages($model, $fileData);
     }
 }