class AASM::Core::Event

def transitions(definitions=nil, &block)

# DSL interface
def transitions(definitions=nil, &block)
  if definitions # define new transitions
    # Create a separate transition for each from-state to the given state
    Array(definitions[:from]).each do |s|
      @transitions << AASM::Core::Transition.new(self, attach_event_guards(definitions.merge(:from => s.to_sym)), &block)
    end
    # Create a transition if :to is specified without :from (transitions from ANY state)
    if !definitions[:from] && definitions[:to]
      @transitions << AASM::Core::Transition.new(self, attach_event_guards(definitions), &block)
    end
  end
  @transitions
end