Sha256: 01c02cc3ec56b19a60d53e9f9691dcb2dc344a6960b7cd2d8ed73b44606b6d27

Contents?: true

Size: 587 Bytes

Versions: 2

Compression:

Stored size: 587 Bytes

Contents

# frozen_string_literal: true

module SolidusConfigurableKits
  class ShippingManifest < ::Spree::ShippingManifest
    def items
      grouped_by_kit = super.group_by { |manifest_item| manifest_item.line_item.kit }
      kit_manifest_items = grouped_by_kit.keys.compact
      result = []
      kit_manifest_items.each do |kit_line_item|
        result += [grouped_by_kit[nil].detect{ |i| i.line_item = kit_line_item }]
        result += grouped_by_kit[kit_line_item]
      end
      result += grouped_by_kit[nil].reject { |manifest_item| manifest_item.line_item.kit? }
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
solidus_configurable_kits-0.1.1 app/models/solidus_configurable_kits/shipping_manifest.rb
solidus_configurable_kits-0.1.0 app/models/solidus_configurable_kits/shipping_manifest.rb