Class: Stockman::Logic::Product::StockLevelsCollection

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/stockman/logic/product/stock_levels_collection.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(product_id) ⇒ StockLevelsCollection

Returns a new instance of StockLevelsCollection.



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

def initialize(product_id)
  @product_id = product_id.to_i
end

Instance Attribute Details

#product_idObject (readonly)

Returns the value of attribute product_id.



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

def product_id
  @product_id
end

Instance Method Details

#[](warehouse_id) ⇒ Object



33
34
35
# File 'lib/stockman/logic/product/stock_levels_collection.rb', line 33

def [](warehouse_id)
  find_by_warehouse(warehouse_id)
end

#eachObject



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

def each
  stock_levels.each{ |stock_level| yield stock_level }
end

#empty?Boolean

Returns:

  • (Boolean)


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

def empty?
  stock_levels.empty?
end

#find_by_warehouse(warehouse_id) ⇒ Object



37
38
39
# File 'lib/stockman/logic/product/stock_levels_collection.rb', line 37

def find_by_warehouse(warehouse_id)
  stock_levels.detect{ |stock_level| stock_level.warehouse_id == warehouse_id }
end

#sellablesObject



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

def sellables
  @sellables ||= SellablesCollection.new(product_id)
end

#stock_levelsObject



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

def stock_levels
  @stock_levels ||= load_stock_levels
end

#warehouse_idsObject



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

def warehouse_ids
  @warehouse_ids ||= load_warehouse_ids
end