Class: LoyaltyProgram::Transition

Inherits:
Object
  • Object
show all
Defined in:
app/my_lib/loyalty_program/transition.rb

Overview

this class responsibility is handle all triger action arround transition in UserLoyalty model

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(user_loyalty, transition) ⇒ Transition

Returns a new instance of Transition.

Parameters:

  • user_loyalty (UserLoyalty)
  • transition (StateMachines::Transition)


9
10
11
12
# File 'app/my_lib/loyalty_program/transition.rb', line 9

def initialize(user_loyalty, transition)
  @user_loyalty = user_loyalty
  @transition   = transition
end

Instance Attribute Details

#transitionObject (readonly)

Returns the value of attribute transition.



4
5
6
# File 'app/my_lib/loyalty_program/transition.rb', line 4

def transition
  @transition
end

#user_loyaltyObject

Returns the value of attribute user_loyalty.



5
6
7
# File 'app/my_lib/loyalty_program/transition.rb', line 5

def user_loyalty
  @user_loyalty
end

Instance Method Details

#execute!Object



14
15
16
17
18
19
20
# File 'app/my_lib/loyalty_program/transition.rb', line 14

def execute!
  set_data_level!
  send_notification
  update_loyalty_level_data!
  run_maintenance_worker
  trigger_reservation_summary_sync
end