From ae3767c799708992f60442ab2e08b9108f01e5ed Mon Sep 17 00:00:00 2001
From: Jon Leighton <j@jonathanleighton.com>
Date: Fri, 15 Jun 2012 18:04:13 +0100
Subject: Fix observers with AR::Model

---
 activerecord/lib/active_record/attribute_assignment.rb | 1 +
 activerecord/lib/active_record/model.rb                | 1 +
 activerecord/lib/active_record/railtie.rb              | 7 ++++---
 3 files changed, 6 insertions(+), 3 deletions(-)

(limited to 'activerecord/lib')

diff --git a/activerecord/lib/active_record/attribute_assignment.rb b/activerecord/lib/active_record/attribute_assignment.rb
index 269fc3e381..b36c90fc08 100644
--- a/activerecord/lib/active_record/attribute_assignment.rb
+++ b/activerecord/lib/active_record/attribute_assignment.rb
@@ -3,6 +3,7 @@ require 'active_support/concern'
 module ActiveRecord
   ActiveSupport.on_load(:active_record_config) do
     mattr_accessor :whitelist_attributes, instance_accessor: false
+    mattr_accessor :mass_assignment_sanitizer, instance_accessor: false
   end
 
   module AttributeAssignment
diff --git a/activerecord/lib/active_record/model.rb b/activerecord/lib/active_record/model.rb
index 831745856b..d51cb30ec1 100644
--- a/activerecord/lib/active_record/model.rb
+++ b/activerecord/lib/active_record/model.rb
@@ -39,6 +39,7 @@ module ActiveRecord
   module Model
     extend ActiveSupport::Concern
     extend ConnectionHandling
+    extend ActiveModel::Observing::ClassMethods
 
     # This allows us to detect an ActiveRecord::Model while it's in the process of being included.
     module Tag; end
diff --git a/activerecord/lib/active_record/railtie.rb b/activerecord/lib/active_record/railtie.rb
index bcafcbb76c..9432a70c41 100644
--- a/activerecord/lib/active_record/railtie.rb
+++ b/activerecord/lib/active_record/railtie.rb
@@ -110,20 +110,21 @@ module ActiveRecord
 
     config.after_initialize do |app|
       ActiveSupport.on_load(:active_record) do
-        ActiveRecord::Base.instantiate_observers
+        ActiveRecord::Model.instantiate_observers
 
         ActionDispatch::Reloader.to_prepare do
-          ActiveRecord::Base.instantiate_observers
+          ActiveRecord::Model.instantiate_observers
         end
       end
 
       ActiveSupport.on_load(:active_record) do
         if app.config.use_schema_cache_dump
           filename = File.join(app.config.paths["db"].first, "schema_cache.dump")
+
           if File.file?(filename)
             cache = Marshal.load File.binread filename
             if cache.version == ActiveRecord::Migrator.current_version
-              ActiveRecord::Base.connection.schema_cache = cache
+              ActiveRecord::Model.connection.schema_cache = cache
             else
               warn "schema_cache.dump is expired. Current version is #{ActiveRecord::Migrator.current_version}, but cache version is #{cache.version}."
             end
-- 
cgit v1.2.3