Module: Sequel::Plugins::Statesman::InstanceMethods

Defined in:
lib/sequel/plugins/statesman.rb

Instance Method Summary collapse

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 merge_transition_metadata!(value)
   = 

  last_transition.update(metadata: .merge(value))
end

#refreshObject



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_machineObject



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_metadataObject



69
70
71
72
73
# File 'lib/sequel/plugins/statesman.rb', line 69

def 
  transition = last_transition(force_reload: true)

  transition && transition.
end