class Stockman::Logic::Kit

Attributes

id[R]

Public Class Methods

new(id) click to toggle source
# File lib/stockman/logic/kit.rb, line 11
def initialize(id)
  @id = id.to_i
end

Public Instance Methods

allocated_amount(warehouse_id) click to toggle source
# File lib/stockman/logic/kit.rb, line 43
def allocated_amount(warehouse_id)
  0
end
available_amount(warehouse_id) click to toggle source
# File lib/stockman/logic/kit.rb, line 47
def available_amount(warehouse_id)
  obtain_stock_level_amount(:available, warehouse_id)
end
physical_amount(warehouse_id) click to toggle source
# File lib/stockman/logic/kit.rb, line 39
def physical_amount(warehouse_id)
  obtain_stock_level_amount(:physical, warehouse_id)
end
stock_levels() click to toggle source
# File lib/stockman/logic/kit.rb, line 27
def stock_levels
  @stock_levels ||= StockLevelsCollection.new(id)
end
summary() click to toggle source
# File lib/stockman/logic/kit.rb, line 35
def summary
  @summary ||= Summary.from_object(self)
end
total_allocated_amount() click to toggle source
# File lib/stockman/logic/kit.rb, line 19
def total_allocated_amount
  0
end
total_available_amount() click to toggle source
# File lib/stockman/logic/kit.rb, line 23
def total_available_amount
  stock_levels.sum(&:available_amount)
end
total_physical_amount() click to toggle source
# File lib/stockman/logic/kit.rb, line 15
def total_physical_amount
  stock_levels.sum(&:physical_amount)
end
warehouse_ids() click to toggle source
# File lib/stockman/logic/kit.rb, line 31
def warehouse_ids
  stock_levels.map(&:warehouse_id)
end

Private Instance Methods

obtain_stock_level_amount(type, warehouse_id) click to toggle source
# File lib/stockman/logic/kit.rb, line 53
def obtain_stock_level_amount(type, warehouse_id)
  return 0 unless warehouse_ids.include?(warehouse_id.to_i)

  stock_levels.find_by_warehouse(warehouse_id).send(:"#{type}_amount")
end