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