Flowdock
build_default_scope(relation = relation()) private

No documentation

This method has no description. You can help the Ruby on Rails community by adding new notes.

Hide source
# File activerecord/lib/active_record/scoping/default.rb, line 102
          def build_default_scope(relation = relation())
            return if abstract_class?

            if default_scope_override.nil?
              self.default_scope_override = !Base.is_a?(method(:default_scope).owner)
            end

            if default_scope_override
              # The user has defined their own default scope method, so call that
              evaluate_default_scope do
                if scope = default_scope
                  relation.merge!(scope)
                end
              end
            elsif default_scopes.any?
              evaluate_default_scope do
                default_scopes.inject(relation) do |default_scope, scope|
                  scope = scope.respond_to?(:to_proc) ? scope : scope.method(:call)
                  default_scope.instance_exec(&scope) || default_scope
                end
              end
            end
          end
Register or log in to add new notes.