Sha256: ee009d5d0480852472edf0066241a0aca669f0e377cb83d34ec375fefe3dca9a
Contents?: true
Size: 673 Bytes
Versions: 62
Compression:
Stored size: 673 Bytes
Contents
module Workarea class Fulfillment class Item include ApplicationDocument field :order_item_id, type: String field :quantity, type: Integer, default: 0 embeds_many :events, class_name: 'Workarea::Fulfillment::Event' embedded_in :fulfillment, class_name: 'Workarea::Fulfillment' def quantity_pending [0, quantity - events.sum(&:quantity)].max end def method_missing(method_name, *args) if method_name =~ /^quantity_/ status = method_name.to_s.gsub(/^quantity_/, '') events.where(status: status).sum(&:quantity) else super end end end end end
Version data entries
62 entries across 62 versions & 1 rubygems