Class: RuboCop::Cop::Style::NumericLiterals

Inherits:
Base
  • Object
show all
Extended by:
AutoCorrector
Includes:
AllowedPattern, IntegerNode
Defined in:
lib/rubocop/cop/style/numeric_literals.rb

Overview

Checks for big numeric literals without _ between groups of digits in them.

Additional allowed patterns can be added by adding regexps to the AllowedPatterns configuration. All regexps are treated as anchored even if the patterns do not contain anchors (so \d{4}_\d{4} will allow 1234_5678 but not 1234_5678_9012).

Note
Even if AllowedPatterns are given, autocorrection will only correct to the standard pattern of an _ every 3 digits.

Examples:


# bad
1000000
1_00_000
1_0000

# good
1_000_000
1000

Strict: false (default)


# good
10_000_00 # typical representation of $10,000 in cents

Strict: true


# bad
10_000_00 # typical representation of $10,000 in cents

AllowedNumbers: [3000]


# good
3000 # You can specify allowed numbers. (e.g. port number)

Constant Summary collapse

MSG =
'Use underscores(_) as thousands separator and separate every 3 digits with them.'
DELIMITER_REGEXP =
/[eE.]/.freeze

Constants inherited from Base

Base::RESTRICT_ON_SEND

Instance Attribute Summary

Attributes inherited from Base

#config, #processed_source

Instance Method Summary collapse

Methods included from AutoCorrector

support_autocorrect?

Methods inherited from Base

#active_support_extensions_enabled?, #add_global_offense, #add_offense, autocorrect_incompatible_with, badge, #begin_investigation, callbacks_needed, #callbacks_needed, #config_to_allow_offenses, #config_to_allow_offenses=, #cop_config, cop_name, #cop_name, department, documentation_url, exclude_from_registry, #excluded_file?, #external_dependency_checksum, inherited, #initialize, #inspect, joining_forces, lint?, match?, #message, #offenses, #on_investigation_end, #on_new_investigation, #on_other_file, #parse, #ready, #relevant_file?, support_autocorrect?, support_multiple_source?, #target_rails_version, #target_ruby_version

Methods included from ExcludeLimit

#exclude_limit

Methods included from AutocorrectLogic

#autocorrect?, #autocorrect_enabled?, #autocorrect_requested?, #autocorrect_with_disable_uncorrectable?, #correctable?, #disable_uncorrectable?, #safe_autocorrect?

Methods included from IgnoredNode

#ignore_node, #ignored_node?, #part_of_ignored_node?

Methods included from Util

silence_warnings

Constructor Details

This class inherits a constructor from RuboCop::Cop::Base

Instance Method Details

#on_float(node) ⇒ Object



60
61
62
# File 'lib/rubocop/cop/style/numeric_literals.rb', line 60

def on_float(node)
  check(node)
end

#on_int(node) ⇒ Object



56
57
58
# File 'lib/rubocop/cop/style/numeric_literals.rb', line 56

def on_int(node)
  check(node)
end