class Stockman::Logic::Kit::StockLevelsCollection

Attributes

kit_id[R]

Public Class Methods

new(kit_id) click to toggle source
# File lib/stockman/logic/kit/stock_levels_collection.rb, line 9
def initialize(kit_id)
  @kit_id = kit_id.to_i
end

Public Instance Methods

[](warehouse_id) click to toggle source
# File lib/stockman/logic/kit/stock_levels_collection.rb, line 13
def [](warehouse_id)
  find_by_warehouse(warehouse_id)
end
contents() click to toggle source
# File lib/stockman/logic/kit/stock_levels_collection.rb, line 29
def contents
  @contents ||= ContentsCollection.new(kit_id)
end
each() { |stock_level| ... } click to toggle source
# File lib/stockman/logic/kit/stock_levels_collection.rb, line 21
def each
  stock_levels.each{ |stock_level| yield stock_level }
end
empty?() click to toggle source
# File lib/stockman/logic/kit/stock_levels_collection.rb, line 25
def empty?
  stock_levels.empty?
end
find_by_warehouse(warehouse_id) click to toggle source
# File lib/stockman/logic/kit/stock_levels_collection.rb, line 17
def find_by_warehouse(warehouse_id)
  stock_levels.detect{ |stock_level| stock_level.warehouse_id == warehouse_id }
end
stock_levels() click to toggle source
# File lib/stockman/logic/kit/stock_levels_collection.rb, line 33
def stock_levels
  @stock_levels ||= load_stock_levels
end
warehouse_ids() click to toggle source
# File lib/stockman/logic/kit/stock_levels_collection.rb, line 37
def warehouse_ids
  @warehouse_ids ||= contents.map(&:warehouse_ids).flatten.uniq
end

Private Instance Methods

load_stock_levels() click to toggle source
# File lib/stockman/logic/kit/stock_levels_collection.rb, line 43
def load_stock_levels
  warehouse_ids.inject([]) do |memo, warehouse_id|
    memo << StockLevel.new(contents, warehouse_id)
  end
end