Class: Spree::Orders::Approve
- Inherits:
-
Object
- Object
- Spree::Orders::Approve
- Includes:
- ServiceModule::Base
- Defined in:
- app/services/spree/orders/approve.rb
Instance Method Summary collapse
Methods included from ServiceModule::Base
Instance Method Details
#call(order:, approver: nil) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'app/services/spree/orders/approve.rb', line 6 def call(order:, approver: nil) changes = { considered_risky: false, approved_at: Time.current } if approver.present? changes[:approver_id] = approver.id end order.update_columns(changes) order.publish_event('order.approved') success(order.reload) rescue ActiveRecord::Rollback, ActiveRecord::RecordInvalid, StateMachines::InvalidTransition failure(order) end |