Sha256: 5074b6ec57ba50c7f05740d073eacd26886068bc51ef7e3d31ccfd98fc4a04c7
Contents?: true
Size: 848 Bytes
Versions: 43
Compression:
Stored size: 848 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
43 entries across 43 versions & 1 rubygems