Module: ActiveRecord::Events::Extension

Defined in:
lib/active_record/events/extension.rb

Instance Method Summary collapse

Instance Method Details

#has_event(name, options = {}) ⇒ Object



11
12
13
14
15
16
17
18
19
20
# File 'lib/active_record/events/extension.rb', line 11

def has_event(name, options = {})
  method_factory = MethodFactory.new(name, options)

  naming = method_factory.naming
  attribute naming.field, naming.field_database_type, index: true
  attribute naming.boolean_attribute, :boolean, index: true, default: -> { false }

  include method_factory.instance_methods
  extend method_factory.class_methods
end

#has_events(*names) ⇒ Object



6
7
8
9
# File 'lib/active_record/events/extension.rb', line 6

def has_events(*names)
  options = names.extract_options!
  names.each { |n| has_event(n, options) }
end