Sha256: 74893ac76669c0af8f56747bb9e75f3516d4818fe73cba9119f18ee9a35abcb9
Contents?: true
Size: 957 Bytes
Versions: 50
Compression:
Stored size: 957 Bytes
Contents
require 'forwardable' module Compass module SassExtensions module Sprites class ImageRow extend Forwardable attr_reader :images, :max_width def_delegators :@images, :last, :delete, :empty?, :length def initialize(max_width) @images = [] @max_width = max_width end def add(image) return false if !will_fit?(image) @images << image true end alias :<< :add def height images.map(&:height).max end def width images.map(&:width).max end def total_width images.inject(0) {|sum, img| sum + img.width } end def efficiency 1 - (total_width.to_f / max_width.to_f) end def will_fit?(image) (total_width + image.width) <= max_width end end end end end
Version data entries
50 entries across 49 versions & 4 rubygems