class RuboCop::Cop::Lint::UnusedMethodArgument

Checks for unused method arguments.

@example

# bad
def some_method(used, unused, _unused_but_allowed)
  puts used
end

# good
def some_method(used, _unused, _unused_but_allowed)
  puts used
end

@example AllowUnusedKeywordArguments: false (default)

# bad
def do_something(used, unused: 42)
  used
end

@example AllowUnusedKeywordArguments: true

# good
def do_something(used, unused: 42)
  used
end

@example IgnoreEmptyMethods: true (default)

# good
def do_something(unused)
end

@example IgnoreEmptyMethods: false

# bad
def do_something(unused)
end

@example IgnoreNotImplementedMethods: true (default)

# with default value of `NotImplementedExceptions: ['NotImplementedError']`

# good
def do_something(unused)
  raise NotImplementedError
end

def do_something_else(unused)
  fail "TODO"
end

@example IgnoreNotImplementedMethods: true

# with `NotImplementedExceptions: ['AbstractMethodError']`

# good
def do_something(unused)
  raise AbstractMethodError
end

@example IgnoreNotImplementedMethods: false

# bad
def do_something(unused)
  raise NotImplementedError
end

def do_something_else(unused)
  fail "TODO"
end