Sha256: eb8500f2d41ab17636719bbe1a53355bca5fb6d9d5bcfaa6eba3dbace5d14cee

Contents?: true

Size: 726 Bytes

Versions: 1

Compression:

Stored size: 726 Bytes

Contents

module ImageMosaic
  module Operations
    class Construct
      def initialize(items, layout: LAYOUT, colour: COLOUR, width: WIDTH)
        @items = items
        @layout = layout
        @colour = colour
        @width = width
      end

      def parent
        @parent ||= Image::Parent.new(layout_items, colour: @colour, width: @width).create
      end

      private

      def background
        @background ||= Data::Background.new(@colour).hex
      end

      def layout_items
        @layout_items ||= layout_klass.new(@items, width: @width).items
      end

      def layout_klass
        Kernel.const_get("ImageMosaic::Image::Layout::#{@layout.split('_').collect(&:capitalize).join}")
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
image_mosaic-0.1.3 lib/image_mosaic/operations/construct.rb