Sha256: e8d7715ca955a1df21e15d919b2a8a7bd9975976d9d076aa5f4b606dd90332b0
Contents?: true
Size: 734 Bytes
Versions: 3
Compression:
Stored size: 734 Bytes
Contents
# frozen_string_literal: true module Spree module Stock class InventoryUnitBuilder def initialize(order) @order = order end def units @order.line_items.flat_map do |line_item| build_units(line_item, line_item.quantity) end end def missing_units_for_line_item(line_item) quantity = line_item.quantity - line_item.inventory_units.count build_units(line_item, quantity) end private def build_units(line_item, quantity) Array.new(quantity) do Spree::InventoryUnit.new( pending: true, variant: line_item.variant, line_item: ) end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems