Class: Stockman::Logic::Product

Inherits:
Object
  • Object
show all
Defined in:
lib/stockman/logic/product.rb,
lib/stockman/logic/product/stock_level.rb,
lib/stockman/logic/product/sellables_collection.rb,
lib/stockman/logic/product/stock_levels_collection.rb

Defined Under Namespace

Classes: SellablesCollection, StockLevel, StockLevelsCollection

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(id) ⇒ Product

Returns a new instance of Product.



10
11
12
# File 'lib/stockman/logic/product.rb', line 10

def initialize(id)
  @id = id
end

Instance Attribute Details

#idObject (readonly)

Returns the value of attribute id.



8
9
10
# File 'lib/stockman/logic/product.rb', line 8

def id
  @id
end

Instance Method Details

#stock_levelsObject



26
27
28
# File 'lib/stockman/logic/product.rb', line 26

def stock_levels
  @stock_levels ||= StockLevelsCollection.new(id)
end

#summaryObject



30
31
32
# File 'lib/stockman/logic/product.rb', line 30

def summary
  @summary ||= Summary.from_object(self)
end

#total_allocated_amountObject



18
19
20
# File 'lib/stockman/logic/product.rb', line 18

def total_allocated_amount
  stock_levels.sum(&:allocated_amount)
end

#total_available_amountObject



22
23
24
# File 'lib/stockman/logic/product.rb', line 22

def total_available_amount
  stock_levels.sum(&:available_amount)
end

#total_physical_amountObject



14
15
16
# File 'lib/stockman/logic/product.rb', line 14

def total_physical_amount
  stock_levels.sum(&:physical_amount)
end