aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/core.rb
diff options
context:
space:
mode:
authorBen Woosley <ben.woosley@gmail.com>2015-03-12 01:01:07 -0700
committerBen Woosley <ben.woosley@gmail.com>2015-03-12 01:22:39 -0700
commitc1deb81cd005d7091b680ec2089b9b8dba41325f (patch)
treeafa5e340a77c2ba1592db41c3e79290df9fe6cf0 /activerecord/lib/active_record/core.rb
parentfd3e63e2d9701f995f56c3dd6dcd30c73bd518b2 (diff)
downloadrails-c1deb81cd005d7091b680ec2089b9b8dba41325f.tar.gz
rails-c1deb81cd005d7091b680ec2089b9b8dba41325f.tar.bz2
rails-c1deb81cd005d7091b680ec2089b9b8dba41325f.zip
Isolate access to .default_scopes in ActiveRecord::Scoping::Default
Instead use .scope_attributes? consistently in ActiveRecord to check whether there are attributes currently associated with the scope. Move the implementation of .scope_attributes? and .scope_attributes to ActiveRecord::Scoping because they don't particularly have to do specifically with Named scopes and their only dependency, in the case of .scope_attributes?, and only caller, in the case of .scope_attributes is contained in Scoping.
Diffstat (limited to 'activerecord/lib/active_record/core.rb')
-rw-r--r--activerecord/lib/active_record/core.rb6
1 files changed, 2 insertions, 4 deletions
diff --git a/activerecord/lib/active_record/core.rb b/activerecord/lib/active_record/core.rb
index 640642e90b..82edc4eda5 100644
--- a/activerecord/lib/active_record/core.rb
+++ b/activerecord/lib/active_record/core.rb
@@ -123,8 +123,7 @@ module ActiveRecord
return super unless ids.length == 1
return super if block_given? ||
primary_key.nil? ||
- default_scopes.any? ||
- current_scope ||
+ scope_attributes? ||
columns_hash.include?(inheritance_column) ||
ids.first.kind_of?(Array)
@@ -152,8 +151,7 @@ module ActiveRecord
end
def find_by(*args) # :nodoc:
- return super if current_scope || !(Hash === args.first) || reflect_on_all_aggregations.any?
- return super if default_scopes.any?
+ return super if scope_attributes? || !(Hash === args.first) || reflect_on_all_aggregations.any?
hash = args.first