class Stockman::Logic::Kit::ContentsCollection

Attributes

kit_id[R]

Public Class Methods

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

Public Instance Methods

[](index) click to toggle source
# File lib/stockman/logic/kit/contents_collection.rb, line 13
def [](index)
  contents[index]
end
contents() click to toggle source
# File lib/stockman/logic/kit/contents_collection.rb, line 29
def contents
  @contents ||= load_contents
end
each() { |content| ... } click to toggle source
# File lib/stockman/logic/kit/contents_collection.rb, line 17
def each
  contents.each{ |content| yield content }
end
minimum_available_amount(warehouse_id) click to toggle source
# File lib/stockman/logic/kit/contents_collection.rb, line 25
def minimum_available_amount(warehouse_id)
  minimum_amount(:available, warehouse_id)
end
minimum_physical_amount(warehouse_id) click to toggle source
# File lib/stockman/logic/kit/contents_collection.rb, line 21
def minimum_physical_amount(warehouse_id)
  minimum_amount(:physical, warehouse_id)
end

Private Instance Methods

load_contents() click to toggle source
# File lib/stockman/logic/kit/contents_collection.rb, line 35
def load_contents
  Storage.obtain_hash("kits:#{kit_id}:variants").map do |variant_id, amount_in_kit|
    Content.new(kit_id, variant_id, amount_in_kit)
  end
end
minimum_amount(type, warehouse_id) click to toggle source
# File lib/stockman/logic/kit/contents_collection.rb, line 41
def minimum_amount(type, warehouse_id)
  contents.map{|content| content.send(:"#{type}_amount", warehouse_id)}.min
end