module Sequel::Plugins::Statesman::InstanceMethods

Public Instance Methods

current_state(*args) click to toggle source
# File lib/sequel/plugins/statesman.rb, line 87
def current_state(*args)
  state_machine.current_state(*args)
end
last_transition(*args) click to toggle source
# File lib/sequel/plugins/statesman.rb, line 91
def last_transition(*args)
  state_machine.last_transition(*args)
end
merge_transition_metadata!(value) click to toggle source
# File lib/sequel/plugins/statesman.rb, line 75
def merge_transition_metadata!(value)
  metadata = transition_metadata

  last_transition.update(metadata: metadata.merge(value))
end
refresh() click to toggle source
Calls superclass method
# File lib/sequel/plugins/statesman.rb, line 81
def refresh
  state_machine.last_transition(force_reload: true)

  super
end
state_history(*args) click to toggle source
# File lib/sequel/plugins/statesman.rb, line 95
def state_history(*args)
  state_machine.history(*args)
end
state_machine() click to toggle source
# 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() click to toggle source
# File lib/sequel/plugins/statesman.rb, line 69
def transition_metadata
  transition = last_transition(force_reload: true)

  transition && transition.metadata
end