Module: Sequel::Plugins::Statesman::InstanceMethods
- Defined in:
- lib/sequel/plugins/statesman.rb
Instance Method Summary collapse
- #current_state(*args) ⇒ Object
- #last_transition(*args) ⇒ Object
- #merge_transition_metadata!(value) ⇒ Object
- #refresh ⇒ Object
- #state_history(*args) ⇒ Object
- #state_machine ⇒ Object
- #transition_metadata ⇒ Object
Instance Method Details
#current_state(*args) ⇒ Object
87 88 89 |
# File 'lib/sequel/plugins/statesman.rb', line 87 def current_state(*args) state_machine.current_state(*args) end |
#last_transition(*args) ⇒ Object
91 92 93 |
# File 'lib/sequel/plugins/statesman.rb', line 91 def last_transition(*args) state_machine.last_transition(*args) end |
#merge_transition_metadata!(value) ⇒ Object
75 76 77 78 79 |
# File 'lib/sequel/plugins/statesman.rb', line 75 def (value) = last_transition.update(metadata: .merge(value)) end |
#refresh ⇒ Object
81 82 83 84 85 |
# File 'lib/sequel/plugins/statesman.rb', line 81 def refresh state_machine.last_transition(force_reload: true) super end |
#state_history(*args) ⇒ Object
95 96 97 |
# File 'lib/sequel/plugins/statesman.rb', line 95 def state_history(*args) state_machine.history(*args) end |
#state_machine ⇒ Object
99 100 101 102 103 104 |
# File 'lib/sequel/plugins/statesman.rb', line 99 def state_machine @state_machine ||= model.state_machine_class.new( self, transition_class: model.transition_class ) end |
#transition_metadata ⇒ Object
69 70 71 72 73 |
# File 'lib/sequel/plugins/statesman.rb', line 69 def transition = last_transition(force_reload: true) transition && transition. end |