class ActiveRecord::Fsm::Graph

Attributes

defined_klasses[W]
final_states[RW]
states[RW]
transitions[RW]

Public Class Methods

defined_klasses() click to toggle source
# File lib/activerecord/fsm/graph.rb, line 23
def defined_klasses
  @defined_klasses ||= []
end
new(transitions) click to toggle source
# File lib/activerecord/fsm/graph.rb, line 6
def initialize(transitions)
  @transitions = transitions
  @states = transitions.flatten.uniq
  @final_states = (transitions.map(&:last) - transitions.map(&:first)).uniq
end

Public Instance Methods

final_state?(state) click to toggle source
# File lib/activerecord/fsm/graph.rb, line 16
def final_state?(state)
  final_states.include?(state)
end
valid_transition?(cur_state, tar_state) click to toggle source
# File lib/activerecord/fsm/graph.rb, line 12
def valid_transition?(cur_state, tar_state)
  transitions.include?([cur_state, tar_state])
end