Method: StateFu::Machine#find_or_create_states_by_name
- Defined in:
- lib/machine.rb
#find_or_create_states_by_name(*args) ⇒ Object
given a messy bunch of symbols, find or create a list of matching States.
155 156 157 158 159 160 161 162 163 164 165 166 |
# File 'lib/machine.rb', line 155 def find_or_create_states_by_name( *args ) args = args.compact.flatten raise ArgumentError.new( args.inspect ) unless args.all? { |a| [Symbol, StateFu::State].include? a.class } args.map do |s| unless state = states[s.to_sym] # TODO clean this line up state = s.is_a?( StateFu::State ) ? s : StateFu::State.new( self, s ) self.states << state end state end end |