Class: RuboCop::Cop::MagicNumbers::NoDefault

Inherits:
Base
  • Object
show all
Defined in:
lib/rubocop/cop/magic_numbers/no_default.rb

Overview

Adds violations for magic numbers, when used as default values for arguments to methods

BAD def on_the_wall(bottles = 100)

GOOD def on_the_wall(bottles = DEFAULT_BOTTLE_COUNT)

Constant Summary collapse

MAGIC_NUMBER_OPTIONAL_ARGUMENT_PATTERN =
<<-PATTERN
  (def
    _
    (args
      <({kwoptarg optarg}
        _
        (%<illegal_scalar_pattern>s _)
      ) ...>
    )
    ...
  )
PATTERN
DEFAULT_OPTIONAL_ARGUMENT_MSG =
'Do not use magic number optional ' \
'argument defaults'

Constants inherited from Base

Base::CONFIG_ALL, Base::CONFIG_FLOAT, Base::CONFIG_INTEGER, Base::CONFIG_NAME_FORBIDDEN_NUMERICS, Base::DEFAULT_CONFIG, Base::ILLEGAL_SCALAR_TYPES

Instance Method Summary collapse

Methods inherited from Base

#cop_config

Instance Method Details

#on_method_defined(node) ⇒ Object Also known as: on_def



33
34
35
36
37
38
39
40
# File 'lib/rubocop/cop/magic_numbers/no_default.rb', line 33

def on_method_defined(node)
  return unless illegal_positional_default?(node)

  add_offense(
    node,
    message: DEFAULT_OPTIONAL_ARGUMENT_MSG
  )
end