require "image_mosaic/version" require 'mini_magick' require 'tempfile' require 'securerandom' require 'image_mosaic/operations/compositor' require 'image_mosaic/data/validator' require 'image_mosaic/image/parent' require 'image_mosaic/image/child' module ImageMosaic class Construct def initialize(items) @items = items end def save parent.write("#{SecureRandom.uuid}.png") end private def parent @parent ||= Image::Parent.new(valid_items).create end def valid_items @valid_items ||= Data::Validator.new(@items).items end end end