aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/scoping.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/scoping.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/scoping.rb')
-rw-r--r--activerecord/lib/active_record/scoping.rb11
1 files changed, 11 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/scoping.rb b/activerecord/lib/active_record/scoping.rb
index fca4f1c9d3..f049b658c4 100644
--- a/activerecord/lib/active_record/scoping.rb
+++ b/activerecord/lib/active_record/scoping.rb
@@ -17,6 +17,17 @@ module ActiveRecord
def current_scope=(scope) #:nodoc:
ScopeRegistry.set_value_for(:current_scope, self.to_s, scope)
end
+
+ # Collects attributes from scopes that should be applied when creating
+ # an AR instance for the particular class this is called on.
+ def scope_attributes # :nodoc:
+ all.scope_for_create
+ end
+
+ # Are there attributes associated with this scope?
+ def scope_attributes? # :nodoc:
+ current_scope
+ end
end
def populate_with_current_scope_attributes