Class: Stockman::Logic::Variant
- Inherits:
-
Object
- Object
- Stockman::Logic::Variant
show all
- Defined in:
- lib/stockman/logic/variant.rb,
lib/stockman/logic/variant/stock_level.rb,
lib/stockman/logic/variant/stock_levels_collection.rb
Defined Under Namespace
Classes: StockLevel, StockLevelsCollection
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(id) ⇒ Variant
Returns a new instance of Variant.
9
10
11
|
# File 'lib/stockman/logic/variant.rb', line 9
def initialize(id)
@id = id.to_i
end
|
Instance Attribute Details
#id ⇒ Object
Returns the value of attribute id.
7
8
9
|
# File 'lib/stockman/logic/variant.rb', line 7
def id
@id
end
|
Instance Method Details
#allocated_amount(warehouse_id) ⇒ Object
37
38
39
|
# File 'lib/stockman/logic/variant.rb', line 37
def allocated_amount(warehouse_id)
obtain_stock_level_amount(:allocated, warehouse_id)
end
|
#available_amount(warehouse_id) ⇒ Object
41
42
43
|
# File 'lib/stockman/logic/variant.rb', line 41
def available_amount(warehouse_id)
obtain_stock_level_amount(:available, warehouse_id)
end
|
#physical_amount(warehouse_id) ⇒ Object
33
34
35
|
# File 'lib/stockman/logic/variant.rb', line 33
def physical_amount(warehouse_id)
obtain_stock_level_amount(:physical, warehouse_id)
end
|
#stock_levels ⇒ Object
25
26
27
|
# File 'lib/stockman/logic/variant.rb', line 25
def stock_levels
@stock_levels ||= StockLevelsCollection.new(id)
end
|
#summary ⇒ Object
45
46
47
|
# File 'lib/stockman/logic/variant.rb', line 45
def summary
@summary ||= Summary.from_object(self)
end
|
#total_allocated_amount ⇒ Object
17
18
19
|
# File 'lib/stockman/logic/variant.rb', line 17
def total_allocated_amount
stock_levels.sum(&:allocated_amount)
end
|
#total_available_amount ⇒ Object
21
22
23
|
# File 'lib/stockman/logic/variant.rb', line 21
def total_available_amount
total_physical_amount - total_allocated_amount
end
|
#total_physical_amount ⇒ Object
13
14
15
|
# File 'lib/stockman/logic/variant.rb', line 13
def total_physical_amount
stock_levels.sum(&:physical_amount)
end
|
#warehouse_ids ⇒ Object
29
30
31
|
# File 'lib/stockman/logic/variant.rb', line 29
def warehouse_ids
stock_levels.map(&:warehouse_id)
end
|