class AASM::Core::Event

def initialize(name, state_machine, options = {}, &block)

def initialize(name, state_machine, options = {}, &block)
  @name = name
  @state_machine = state_machine
  @transitions = []
  @valid_transitions = Hash.new { |h, k| h[k] = {} }
  @guards = Array(options[:guard] || options[:guards] || options[:if])
  @unless = Array(options[:unless]) #TODO: This could use a better name
  @default_display_name = name.to_s.gsub(/_/, ' ').capitalize
  # from aasm4
  @options = options # QUESTION: .dup ?
  add_options_from_dsl(@options, [
    :after,
    :after_commit,
    :after_transaction,
    :before,
    :before_transaction,
    :ensure,
    :error,
    :before_success,
    :success,
  ], &block) if block
end