class ImageMosaic::Operations::Construct

Public Class Methods

new(items, layout: LAYOUT, colour: COLOUR, width: WIDTH) click to toggle source
# File lib/image_mosaic/operations/construct.rb, line 4
def initialize(items, layout: LAYOUT, colour: COLOUR, width: WIDTH)
  @items = items
  @layout = layout
  @colour = colour
  @width = width
end

Public Instance Methods

parent() click to toggle source
# File lib/image_mosaic/operations/construct.rb, line 11
def parent
  @parent ||= Image::Parent.new(layout_items, colour: @colour, width: @width).create
end

Private Instance Methods

background() click to toggle source
# File lib/image_mosaic/operations/construct.rb, line 17
def background
  @background ||= Data::Background.new(@colour).hex
end
layout_items() click to toggle source
# File lib/image_mosaic/operations/construct.rb, line 21
def layout_items
  @layout_items ||= layout_klass.new(@items, width: @width).items
end
layout_klass() click to toggle source
# File lib/image_mosaic/operations/construct.rb, line 25
def layout_klass
  Kernel.const_get("ImageMosaic::Image::Layout::#{@layout.split('_').collect(&:capitalize).join}")
end