# File lib/state_machine/event.rb, line 158 def transition(options) raise ArgumentError, 'Must specify as least one transition requirement' if options.empty? # Only a certain subset of explicit options are allowed for transition # requirements assert_valid_keys(options, :from, :to, :except_from, :if, :unless) if (options.keys - [:from, :to, :on, :except_from, :except_to, :except_on, :if, :unless]).empty? guards << guard = Guard.new(options.merge(:on => name)) @known_states |= guard.known_states guard end