Sha256: a47ca64e4b57756706fd0bdd54d274e16144a3cda230cc78ac5373b03f15ce16
Contents?: true
Size: 1.08 KB
Versions: 2
Compression:
Stored size: 1.08 KB
Contents
module Stockman module Logic class Kit class Content attr_reader :kit_id, :variant_id, :amount_in_kit def initialize(kit_id, variant_id, amount_in_kit) @kit_id = kit_id.to_i @variant_id = variant_id.to_i @amount_in_kit = amount_in_kit.to_i end def variant @variant ||= Variant.new(variant_id) end def warehouse_ids @warehouse_ids ||= variant.warehouse_ids end def stock_levels @stock_levels ||= variant.stock_levels end def physical_amount(warehouse_id) stock_level_amount(:physical, warehouse_id) end def available_amount(warehouse_id) stock_level_amount(:available, warehouse_id) end private def stock_level_amount(type, warehouse_id) stock_level = stock_levels.find_by_warehouse(warehouse_id) return 0 if amount_in_kit.zero? || stock_level.nil? stock_level.send(:"#{type}_amount") / amount_in_kit end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
stockman-logic-0.1.1 | lib/stockman/logic/kit/content.rb |
stockman-logic-0.1.0 | lib/stockman/logic/kit/content.rb |