Module: Binnable
- Defined in:
- lib/dragonfly_extensions/binnable.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#qty(warehouse = nil) ⇒ Object
Return the quantity of a binnable item.
Class Method Details
.included(base) ⇒ Object
2 3 4 5 6 7 8 9 |
# File 'lib/dragonfly_extensions/binnable.rb', line 2 def self.included(base) base.has_many :bins, :as => :binnable base.has_many :warehouses, :through => :bins base.named_scope :in_warehouse, lambda { |warehouse| {:joins => :warehouses, :conditions => [ "#{Warehouse.table_name}.id = ?", warehouse ] } } end |
Instance Method Details
#qty(warehouse = nil) ⇒ Object
Return the quantity of a binnable item. The default is in all warehouses
15 16 17 18 19 |
# File 'lib/dragonfly_extensions/binnable.rb', line 15 def qty(warehouse = nil) warehouse.nil? ? self.bins.inject(0) { |sum, bin| sum += bin.qty } : self.bins.in_warehouse(warehouse).inject(0) { |sum, bin| sum += bin.qty } end |