Sha256: 7eccd63db7986ce98e8c3a23e10dd71b5b8b1bd489aa50254ca1ffc17ebfac8a
Contents?: true
Size: 846 Bytes
Versions: 94
Compression:
Stored size: 846 Bytes
Contents
module Spree module Stock module Splitter class ShippingCategory < Spree::Stock::Splitter::Base def split(packages) split_packages = [] packages.each do |package| split_packages += split_by_category(package) end return_next split_packages end private def split_by_category(package) categories = Hash.new { |hash, key| hash[key] = [] } package.contents.each do |item| categories[item.variant.shipping_category_id] << item end hash_to_packages(categories) end def hash_to_packages(categories) packages = [] categories.each do |id, contents| packages << build_package(contents) end packages end end end end end
Version data entries
94 entries across 94 versions & 3 rubygems