Module: ActiveRecord::Observing::ClassMethods

Defined in:
lib/active_record/observer.rb

Instance Method Summary collapse

Instance Method Details

#observers=(*observers) ⇒ Object

Activates the observers assigned. Examples:

# Calls PersonObserver.instance
ActiveRecord::Base.observers = :person_observer

# Calls Cacher.instance and GarbageCollector.instance 
ActiveRecord::Base.observers = :cacher, :garbage_collector

# Same as above, just using explicit class references
ActiveRecord::Base.observers = Cacher, GarbageCollector


21
22
23
24
25
26
27
# File 'lib/active_record/observer.rb', line 21

def observers=(*observers)
  observers = [ observers ].flatten.each do |observer| 
    observer.is_a?(Symbol) ? 
      observer.to_s.camelize.constantize.instance :
      observer.instance
  end
end