method
build_default_scope
v5.0.0.1 -
Show latest stable
- Class:
ActiveRecord::Scoping::Default::ClassMethods
build_default_scope(base_rel = nil)protected
No documentation available.
# File activerecord/lib/active_record/scoping/default.rb, line 104
def build_default_scope(base_rel = nil) # :nodoc:
return if abstract_class?
if self.default_scope_override.nil?
self.default_scope_override = !Base.is_a?(method(:default_scope).owner)
end
if self.default_scope_override
# The user has defined their own default scope method, so call that
evaluate_default_scope { default_scope }
elsif default_scopes.any?
base_rel ||= relation
evaluate_default_scope do
default_scopes.inject(base_rel) do |default_scope, scope|
scope = scope.respond_to?(:to_proc) ? scope : scope.method(:call)
default_scope.merge(base_rel.instance_exec(&scope))
end
end
end
end