diff options
author | Ben Woosley <ben.woosley@gmail.com> | 2015-03-12 01:01:07 -0700 |
---|---|---|
committer | Ben Woosley <ben.woosley@gmail.com> | 2015-03-12 01:22:39 -0700 |
commit | c1deb81cd005d7091b680ec2089b9b8dba41325f (patch) | |
tree | afa5e340a77c2ba1592db41c3e79290df9fe6cf0 /activerecord/lib/active_record/core.rb | |
parent | fd3e63e2d9701f995f56c3dd6dcd30c73bd518b2 (diff) | |
download | rails-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.rb | 6 |
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 |