class RuboCop::Cop::Rails::DefaultScope

This cop looks for uses of `default_scope`.

@example

# bad
default_scope -> { where(hidden: false) }

# good
scope :published, -> { where(hidden: false) }

# bad
def self.default_scope
  where(hidden: false)
end

# good
def self.published
  where(hidden: false)
end

Constants

MSG
RESTRICT_ON_SEND

Public Instance Methods

on_defs(node) click to toggle source
# File lib/rubocop/cop/rails/default_scope.rb, line 47
def on_defs(node)
  return unless class_method_definition?(node)

  add_offense(node.loc.name)
end
on_sclass(node) click to toggle source
# File lib/rubocop/cop/rails/default_scope.rb, line 53
def on_sclass(node)
  eigenclass_method_definition?(node) do |default_scope|
    add_offense(default_scope.loc.name)
  end
end
on_send(node) click to toggle source
# File lib/rubocop/cop/rails/default_scope.rb, line 41
def on_send(node)
  return unless method_call?(node)

  add_offense(node.loc.selector)
end