Sha256: e6f74da4fde210f65fc0ce4c14eaf42e524072a6b28d46409ea3c511920eaf3c
Contents?: true
Size: 1.1 KB
Versions: 4
Compression:
Stored size: 1.1 KB
Contents
# frozen_string_literal: true module SolidusProductAssembly module Spree module Stock module InventoryUnitBuilderDecorator def units @order.line_items.flat_map do |line_item| line_item.quantity_by_variant.flat_map do |variant, quantity| quantity.times.map { build_inventory_unit(variant, line_item) } end end end def build_inventory_unit(variant, line_item) inventory_unit_attributes = { pending: true, variant: variant, line_item: line_item, } if ::Spree.solidus_gem_version < Gem::Version.new('2.5.x') inventory_unit_attributes[:order] = @order end @order.inventory_units.includes( variant: { product: { shipping_category: { shipping_methods: [:calculator, { zones: :zone_members }] } } } ).build(inventory_unit_attributes) end ::Spree::Stock::InventoryUnitBuilder.prepend self end end end end
Version data entries
4 entries across 4 versions & 1 rubygems