module ActiveEvents::ClassMethods

Public Instance Methods

normalize_events_options() click to toggle source
# File lib/active_events.rb, line 24
def normalize_events_options
  events_options[:ignore] = Array.wrap(events_options[:ignore])
end
watch_events(options = {}) click to toggle source
# 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