Class: SolidusConfigurableKits::ShippingManifest

Inherits:
Spree::ShippingManifest
  • Object
show all
Defined in:
app/models/solidus_configurable_kits/shipping_manifest.rb

Instance Method Summary collapse

Instance Method Details

#itemsObject



5
6
7
8
9
10
11
12
13
14
# File 'app/models/solidus_configurable_kits/shipping_manifest.rb', line 5

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