aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/base.rb
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2011-02-03 14:04:21 -0800
committerAaron Patterson <aaron.patterson@gmail.com>2011-02-03 14:04:21 -0800
commit23a3ba426067d3d38259ef4e1d234cbb82c8aea2 (patch)
tree796e2b13201d06e141adee7f69f6d3ae9ddc53ce /activerecord/lib/active_record/base.rb
parent95d5d9b6c48c08f1fba0c77ecbc97b62b2603824 (diff)
downloadrails-23a3ba426067d3d38259ef4e1d234cbb82c8aea2.tar.gz
rails-23a3ba426067d3d38259ef4e1d234cbb82c8aea2.tar.bz2
rails-23a3ba426067d3d38259ef4e1d234cbb82c8aea2.zip
Revert "ARel only requires the connection from the AR class. Simply return the AR class rather than jump through hoops and store ivars"
This reverts commit d65e3b481e72e8c76818a94353e9ac315c7c0272.
Diffstat (limited to 'activerecord/lib/active_record/base.rb')
-rw-r--r--activerecord/lib/active_record/base.rb10
1 files changed, 8 insertions, 2 deletions
diff --git a/activerecord/lib/active_record/base.rb b/activerecord/lib/active_record/base.rb
index 4e743ec826..8750e226b9 100644
--- a/activerecord/lib/active_record/base.rb
+++ b/activerecord/lib/active_record/base.rb
@@ -747,7 +747,7 @@ module ActiveRecord #:nodoc:
undefine_attribute_methods
reset_column_cache
@column_names = @content_columns = @dynamic_methods_hash = @inheritance_column = nil
- @relation = nil
+ @arel_engine = @relation = nil
end
def reset_column_cache # :nodoc:
@@ -856,7 +856,13 @@ module ActiveRecord #:nodoc:
end
def arel_engine
- self
+ @arel_engine ||= begin
+ if self == ActiveRecord::Base
+ ActiveRecord::Base
+ else
+ connection_handler.connection_pools[name] ? self : superclass.arel_engine
+ end
+ end
end
# Returns a scope for this class without taking into account the default_scope.