Class: Stockman::Logic::Variant::StockLevelsCollection

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(variant_id) ⇒ StockLevelsCollection

Returns a new instance of StockLevelsCollection.



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

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

Instance Attribute Details

#variant_idObject (readonly)

Returns the value of attribute variant_id.



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

def variant_id
  @variant_id
end

Instance Method Details

#[](warehouse_id) ⇒ Object



27
28
29
# File 'lib/stockman/logic/variant/stock_levels_collection.rb', line 27

def [](warehouse_id)
  find_by_warehouse(warehouse_id)
end

#eachObject



19
20
21
# File 'lib/stockman/logic/variant/stock_levels_collection.rb', line 19

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

#empty?Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/stockman/logic/variant/stock_levels_collection.rb', line 23

def empty?
  stock_levels.empty?
end

#find_by_warehouse(warehouse_id) ⇒ Object



31
32
33
# File 'lib/stockman/logic/variant/stock_levels_collection.rb', line 31

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

#stock_levelsObject



13
14
15
16
17
# File 'lib/stockman/logic/variant/stock_levels_collection.rb', line 13

def stock_levels
  @stock_levels ||= Storage.obtain_set("variants:#{variant_id}:warehouses").map do |warehouse_id|
    StockLevel.new(variant_id, warehouse_id)
  end
end