Class: Tickets::TierQualificationWorker

Inherits:
ApplicationWorker
  • Object
show all
Defined in:
app/workers/loyalty_programs/tickets/tier_qualification_worker.rb

Instance Method Summary collapse

Instance Method Details

#perform(ticket_transaction_id) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
# File 'app/workers/loyalty_programs/tickets/tier_qualification_worker.rb', line 5

def perform(ticket_transaction_id)
  ticket_transaction = TicketTransaction.find(ticket_transaction_id)
  user = ticket_transaction.user
  return false if user.blank?

  return false unless ticket_transaction.reached_goal?

  user_loyalty = user&.user_loyalty

  qualification = LoyaltyProgram::Qualification.new(user_loyalty, ticket_transaction)
  qualification.update_data_and_set_tier!
end