Class: SpreeCmCommissioner::EnqueueCart::AddItem
- Inherits:
-
BaseInteractor
- Object
- BaseInteractor
- SpreeCmCommissioner::EnqueueCart::AddItem
- Defined in:
- app/interactors/spree_cm_commissioner/enqueue_cart/add_item.rb
Instance Method Summary collapse
- #add_item_to_cart ⇒ Object
- #call ⇒ Object
- #order ⇒ Object
- #update_status(status) ⇒ Object
- #variant ⇒ Object
Instance Method Details
#add_item_to_cart ⇒ Object
15 16 17 18 19 20 21 22 23 24 |
# File 'app/interactors/spree_cm_commissioner/enqueue_cart/add_item.rb', line 15 def add_item_to_cart Spree::Cart::AddItem.call( order: order, variant: variant, quantity: quantity, public_metadata: , private_metadata: , options: ) end |
#call ⇒ Object
6 7 8 9 10 11 12 13 |
# File 'app/interactors/spree_cm_commissioner/enqueue_cart/add_item.rb', line 6 def call result = add_item_to_cart if result.success? update_status('completed') else update_status('failed') end end |
#order ⇒ Object
34 35 36 |
# File 'app/interactors/spree_cm_commissioner/enqueue_cart/add_item.rb', line 34 def order @order ||= Spree::Order.find(order_id) end |
#update_status(status) ⇒ Object
26 27 28 29 30 31 32 |
# File 'app/interactors/spree_cm_commissioner/enqueue_cart/add_item.rb', line 26 def update_status(status) SpreeCmCommissioner::EnqueueCart::AddItemStatusMarker.call( order_number: order.number, job_id: job_id, status: status ) end |
#variant ⇒ Object
38 39 40 |
# File 'app/interactors/spree_cm_commissioner/enqueue_cart/add_item.rb', line 38 def variant @variant ||= Spree::Variant.find(variant_id) end |