class Stateoscope::Adapter::AASM
Public Class Methods
handle?(klass, _state_machine_name)
click to toggle source
# File lib/stateoscope/adapter/aasm.rb, line 4 def self.handle?(klass, _state_machine_name) klass.inherits_from?('::AASM') end
Public Instance Methods
build_graph()
click to toggle source
# File lib/stateoscope/adapter/aasm.rb, line 8 def build_graph add_initial_state add_states add_transitions graph.detect_final_states! end
full_state_machine_name()
click to toggle source
# File lib/stateoscope/adapter/aasm.rb, line 15 def full_state_machine_name [ 'aasm', klass.name, state_machine_name ].compact.join('-').dasherize end
Private Instance Methods
add_initial_state()
click to toggle source
# File lib/stateoscope/adapter/aasm.rb, line 29 def add_initial_state graph.initial_state = state_machine.initial_state.to_s end
add_states()
click to toggle source
# File lib/stateoscope/adapter/aasm.rb, line 33 def add_states state_machine.states.each do |state| graph.add_state(state.name.to_s) end end
add_transitions()
click to toggle source
# File lib/stateoscope/adapter/aasm.rb, line 39 def add_transitions state_machine.events.each do |event| event.transitions.each do |transition| graph.add_transition(transition.from.to_s, transition.to.to_s, event.name.to_s) end end end
state_machine()
click to toggle source
# File lib/stateoscope/adapter/aasm.rb, line 25 def state_machine klass.aasm(state_machine_name.presence) end