Class: SpreeCmCommissioner::TicketTransfers::Complete

Inherits:
Object
  • Object
show all
Includes:
Spree::ServiceModule::Base
Defined in:
app/services/spree_cm_commissioner/ticket_transfers/complete.rb

Instance Method Summary collapse

Instance Method Details

#call(ticket_transfer:) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
# File 'app/services/spree_cm_commissioner/ticket_transfers/complete.rb', line 6

def call(ticket_transfer:)
  validate_execution!(ticket_transfer)

  ActiveRecord::Base.transaction do
    new_guest = transfer_guest_to_buyer!(ticket_transfer)
    finalize_transfer!(ticket_transfer, new_guest)

    success(ticket_transfer: ticket_transfer, new_guest: new_guest)
  end
rescue StandardError => e
  handle_failure(ticket_transfer, e)
end