class Stockman::Logic::Kit::Content

Attributes

amount_in_kit[R]
kit_id[R]
variant_id[R]

Public Class Methods

new(kit_id, variant_id, amount_in_kit) click to toggle source
# File lib/stockman/logic/kit/content.rb, line 7
def initialize(kit_id, variant_id, amount_in_kit)
  @kit_id        = kit_id.to_i
  @variant_id    = variant_id.to_i
  @amount_in_kit = amount_in_kit.to_i
end

Public Instance Methods

available_amount(warehouse_id) click to toggle source
# File lib/stockman/logic/kit/content.rb, line 29
def available_amount(warehouse_id)
  stock_level_amount(:available, warehouse_id)
end
physical_amount(warehouse_id) click to toggle source
# File lib/stockman/logic/kit/content.rb, line 25
def physical_amount(warehouse_id)
  stock_level_amount(:physical, warehouse_id)
end
stock_levels() click to toggle source
# File lib/stockman/logic/kit/content.rb, line 21
def stock_levels
  @stock_levels ||= variant.stock_levels
end
variant() click to toggle source
# File lib/stockman/logic/kit/content.rb, line 13
def variant
  @variant ||= Variant.new(variant_id)
end
warehouse_ids() click to toggle source
# File lib/stockman/logic/kit/content.rb, line 17
def warehouse_ids
  @warehouse_ids ||= variant.warehouse_ids
end

Private Instance Methods

stock_level_amount(type, warehouse_id) click to toggle source
# File lib/stockman/logic/kit/content.rb, line 35
def stock_level_amount(type, warehouse_id)
  stock_level = stock_levels.find_by_warehouse(warehouse_id)

  return 0 if amount_in_kit.zero? || stock_level.nil?

  stock_level.send(:"#{type}_amount") / amount_in_kit
end