Class: Returnly::Builders::ReturnItem
- Inherits:
-
Object
- Object
- Returnly::Builders::ReturnItem
- Defined in:
- lib/returnly/builders/return_item.rb
Instance Attribute Summary collapse
-
#order ⇒ Object
Returns the value of attribute order.
Instance Method Summary collapse
- #build_by_inventory_unit(inventory_unit, options = {}) ⇒ Object
- #build_by_requested_line_items(requested_line_items) ⇒ Object
-
#initialize(order) ⇒ ReturnItem
constructor
A new instance of ReturnItem.
Constructor Details
#initialize(order) ⇒ ReturnItem
Returns a new instance of ReturnItem.
6 7 8 |
# File 'lib/returnly/builders/return_item.rb', line 6 def initialize(order) @order = order end |
Instance Attribute Details
#order ⇒ Object
Returns the value of attribute order.
4 5 6 |
# File 'lib/returnly/builders/return_item.rb', line 4 def order @order end |
Instance Method Details
#build_by_inventory_unit(inventory_unit, options = {}) ⇒ Object
23 24 25 26 27 28 29 30 31 |
# File 'lib/returnly/builders/return_item.rb', line 23 def build_by_inventory_unit(inventory_unit, = {}) Spree::ReturnItem.new( amount: inventory_unit.line_item.price, acceptance_status: 'accepted', inventory_unit_id: inventory_unit.id, reception_status_event: 'receive', resellable: [:restock] ) end |
#build_by_requested_line_items(requested_line_items) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/returnly/builders/return_item.rb', line 10 def build_by_requested_line_items(requested_line_items) requested_line_items.each_with_object([]) do |request_line_item, return_items| quantity = request_line_item[:units].to_i next return_items unless quantity > 0 inventory_units_by(request_line_item[:order_line_item_id]).take(quantity).each do |inventory_unit| return_items << build_by_inventory_unit(inventory_unit, request_line_item) end return_items end end |