Class: RewardWorkers::Reservation

Inherits:
ApplicationWorker show all
Defined in:
app/workers/reward_workers/reservation.rb

Overview

typed: ignore frozen_string_literal: true

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from ApplicationWorker

unlimited_retry

Instance Attribute Details

#reservationObject

Returns the value of attribute reservation.



5
6
7
# File 'app/workers/reward_workers/reservation.rb', line 5

def reservation
  @reservation
end

Instance Method Details

#perform(reservation_id, state) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'app/workers/reward_workers/reservation.rb', line 7

def perform(reservation_id, state)
  self.reservation = ::Reservation.find(reservation_id)

  return if reservation.user_id.blank?

  key = "rewards_#{.key_suffix}"
  .note[key] = case_state(state)

  if .note[key].nil?
    APMErrorHandler.report('undetected reward reservation state', reservation_id: reservation_id, state: state)
    return
  end
  .save
end