Class: SpreeCmCommissioner::OrderImporter::MultiGuest
- Inherits:
-
BaseInteractor
- Object
- BaseInteractor
- SpreeCmCommissioner::OrderImporter::MultiGuest
- Defined in:
- app/interactors/spree_cm_commissioner/order_importer/multi_guest.rb
Instance Method Summary collapse
Instance Method Details
#call ⇒ Object
6 7 8 9 10 11 12 |
# File 'app/interactors/spree_cm_commissioner/order_importer/multi_guest.rb', line 6 def call return context.fail!(message: 'variant_id_is_required') if params[:variant_id].blank? return context.fail!(message: 'email_or_phone_is_required') if params[:order_email].blank? && params[:order_phone_number].blank? context.order = construct_order context.fail!(message: context.order.errors..to_sentence) unless context.order.save end |
#construct_order ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'app/interactors/spree_cm_commissioner/order_importer/multi_guest.rb', line 14 def construct_order Spree::Order.new( email: params[:order_email], phone_number: params[:order_phone_number], completed_at: Date.current, state: 'complete', payment_state: 'paid', line_items_attributes: [ { quantity: quantity.to_i, variant_id: params[:variant_id] } ] ) end |