Sha256: aaf09d935cc27395f9b64d9ab885bedd8a74429d3fe2b5f98b545a97936d14b5
Contents?: true
Size: 726 Bytes
Versions: 133
Compression:
Stored size: 726 Bytes
Contents
# frozen_string_literal: true module Spree module Stock module Splitter class Weight < Spree::Stock::Splitter::Base 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 > threshold break if package.contents.size == 1 removed << package.contents.shift end removed end end end end end
Version data entries
133 entries across 133 versions & 2 rubygems