diff options
Diffstat (limited to 'activerecord/lib')
-rwxr-xr-x | activerecord/lib/active_record/base.rb | 1 | ||||
-rw-r--r-- | activerecord/lib/active_record/observer.rb | 7 |
2 files changed, 8 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/base.rb b/activerecord/lib/active_record/base.rb index d05e3c6cae..f134402c58 100755 --- a/activerecord/lib/active_record/base.rb +++ b/activerecord/lib/active_record/base.rb @@ -244,6 +244,7 @@ module ActiveRecord #:nodoc: cattr_accessor :logger def self.inherited(child) #:nodoc: + child.send :include, Reloadable @@subclasses[self] ||= [] @@subclasses[self] << child super diff --git a/activerecord/lib/active_record/observer.rb b/activerecord/lib/active_record/observer.rb index 7d33509c8c..d43909c3c5 100644 --- a/activerecord/lib/active_record/observer.rb +++ b/activerecord/lib/active_record/observer.rb @@ -81,6 +81,13 @@ module ActiveRecord class Observer include Singleton + # Observer subclasses should be reloaded by the dispatcher in Rails + # when Dependencies.mechanism = :load. + def self.inherited(child) #:nodoc: + child.send :include, Reloadable + super + end + # Attaches the observer to the supplied model classes. def self.observe(*models) define_method(:observed_class) { models } |