Module: ActiveEvents::ClassMethods

Defined in:
lib/active_events.rb

Instance Method Summary collapse

Instance Method Details

#normalize_events_optionsObject



24
25
26
# File 'lib/active_events.rb', line 24

def normalize_events_options
  events_options[:ignore] = Array.wrap(events_options[:ignore])
end

#watch_events(options = {}) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/active_events.rb', line 7

def watch_events(options = {})
  # don't allow multiple calls
  return if included_modules.include?(ActiveEvents::InstanceMethods)

  class_attribute :events_options, instance_writer: false

  self.events_options = options
  normalize_events_options

  extend ActiveEvents::ActiveEventsClassMethods
  include ActiveEvents::InstanceMethods

  after_create :active_event_create unless events_options[:ignore].include?(:create)
  before_update :active_event_update unless events_options[:ignore].include?(:update)
  before_destroy :active_event_destroy unless events_options[:ignore].include?(:destroy)
end