Sha256: 03c24a8a6d40ff907b49dd2124ce72c07c140ffa4aae7d34761c76aa4b20640b
Contents?: true
Size: 721 Bytes
Versions: 43
Compression:
Stored size: 721 Bytes
Contents
module Spree module Stock module Splitter class Weight < Base attr_reader :packer, :next_splitter cattr_accessor :threshold do 150 end def split(packages) packages.each do |package| removed_contents = reduce package packages << build_package(removed_contents) unless removed_contents.empty? end return_next packages end private def reduce(package) removed = [] while package.weight > self.threshold break if package.contents.size == 1 removed << package.contents.shift end removed end end end end end
Version data entries
43 entries across 43 versions & 1 rubygems