Class: SpreeCmCommissioner::Order::Guests::Update
- Inherits:
-
Object
- Object
- SpreeCmCommissioner::Order::Guests::Update
- Includes:
- Spree::ServiceModule::Base
- Defined in:
- app/services/spree_cm_commissioner/order/guests/update.rb
Overview
Whitelists submitted guest params down to whatever KYC fields and dynamic fields are actually configured for the guest's line item, then delegates persistence to UpdateGuestService.
Expects params shaped as:
{ first_name: '...', ..., dynamic_fields: { '<dynamic_field_id>' => value_or_option_id_or_array_of_option_ids } }
Instance Method Summary collapse
Instance Method Details
#call(guest:, params:) ⇒ Object
13 14 15 16 17 18 |
# File 'app/services/spree_cm_commissioner/order/guests/update.rb', line 13 def call(guest:, params:) SpreeCmCommissioner::UpdateGuestService.new(guest, permitted_params(guest, params)).call success(guest: guest) rescue ActiveRecord::RecordInvalid => e failure(guest, e.record.errors..to_sentence) end |