lib/finite_machine/dsl.rb in finite_machine-0.9.0 vs lib/finite_machine/dsl.rb in finite_machine-0.9.1

- old
+ new

@@ -224,17 +224,15 @@ # # @api public def event(name, attrs = {}, &block) sync_exclusive do attributes = attrs.merge!(name: name) - FiniteMachine::StateParser.new(attrs).parse_states do |from, to| - if block_given? - merger = ChoiceMerger.new(self, attributes) - merger.instance_eval(&block) - else - attributes.merge!(parsed_states: { from => to }) - Transition.create(machine, attributes) - end + if block_given? + merger = ChoiceMerger.new(self, attributes) + merger.instance_eval(&block) + else + transition_builder = TransitionBuilder.new(machine, attributes) + transition_builder.call(attrs) end end end end # EventsDSL