Class: RuboCop::Cop::Naming::VariableName
- Includes:
- AllowedIdentifiers, AllowedPattern, ConfigurableNaming, ForbiddenIdentifiers, ForbiddenPattern
- Defined in:
- lib/rubocop/cop/naming/variable_name.rb
Overview
Checks that the configured style (snake_case or camelCase) is used for all variable names. This includes local variables, instance variables, class variables, method arguments (positional, keyword, rest or block), and block arguments.
The cop can also be configured to forbid using specific names for variables, using ‘ForbiddenIdentifiers` or `ForbiddenPatterns`. In addition to the above, this applies to global variables as well.
Method definitions and method calls are not affected by this cop.
Constant Summary collapse
- MSG =
'Use %<style>s for variable names.'
- MSG_FORBIDDEN =
'`%<identifier>s` is forbidden, use another name instead.'
Constants included from ForbiddenIdentifiers
Constants included from ConfigurableNaming
Constants included from AllowedIdentifiers
Constants inherited from Base
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
-
#on_gvasgn(node) ⇒ Object
Only forbidden names are checked for global variable assignment.
- #on_lvasgn(node) ⇒ Object (also: #on_ivasgn, #on_cvasgn, #on_arg, #on_optarg, #on_restarg, #on_kwoptarg, #on_kwarg, #on_kwrestarg, #on_blockarg, #on_lvar)
- #valid_name?(node, name, given_style = style) ⇒ Boolean
Methods included from ForbiddenPattern
#forbidden_pattern?, #forbidden_patterns
Methods included from ForbiddenIdentifiers
#forbidden_identifier?, #forbidden_identifiers
Methods included from ConfigurableFormatting
#check_name, #class_emitter_method?, #report_opposing_styles
Methods included from ConfigurableEnforcedStyle
#alternative_style, #alternative_styles, #ambiguous_style_detected, #correct_style_detected, #detected_style, #detected_style=, #no_acceptable_style!, #no_acceptable_style?, #opposite_style_detected, #style, #style_configured?, #style_detected, #style_parameter_name, #supported_styles, #unexpected_style_detected
Methods included from AllowedIdentifiers
#allowed_identifier?, #allowed_identifiers
Methods inherited from Base
#active_support_extensions_enabled?, #add_global_offense, #add_offense, #always_autocorrect?, autocorrect_incompatible_with, badge, #begin_investigation, #callbacks_needed, callbacks_needed, #config_to_allow_offenses, #config_to_allow_offenses=, #contextual_autocorrect?, #cop_config, cop_name, #cop_name, department, documentation_url, exclude_from_registry, #excluded_file?, #external_dependency_checksum, inherited, #initialize, #inspect, joining_forces, lint?, match?, #offenses, #on_investigation_end, #on_new_investigation, #on_other_file, #parse, #parser_engine, #ready, #relevant_file?, requires_gem, #string_literals_frozen_by_default?, support_autocorrect?, support_multiple_source?, #target_gem_version, #target_rails_version, #target_ruby_version
Methods included from ExcludeLimit
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
Constructor Details
This class inherits a constructor from RuboCop::Cop::Base
Instance Method Details
permalink #on_gvasgn(node) ⇒ Object
Only forbidden names are checked for global variable assignment
88 89 90 91 92 93 |
# File 'lib/rubocop/cop/naming/variable_name.rb', line 88 def on_gvasgn(node) return unless (name = node.name) return unless forbidden_name?(name) register_forbidden_name(node) end |
permalink #on_lvasgn(node) ⇒ Object Also known as: on_ivasgn, on_cvasgn, on_arg, on_optarg, on_restarg, on_kwoptarg, on_kwarg, on_kwrestarg, on_blockarg, on_lvar
[View source]
66 67 68 69 70 71 72 73 74 75 |
# File 'lib/rubocop/cop/naming/variable_name.rb', line 66 def on_lvasgn(node) return unless (name = node.name) return if allowed_identifier?(name) if forbidden_name?(name) register_forbidden_name(node) else check_name(node, name, node.loc.name) end end |
permalink #valid_name?(node, name, given_style = style) ⇒ Boolean
62 63 64 |
# File 'lib/rubocop/cop/naming/variable_name.rb', line 62 def valid_name?(node, name, given_style = style) super || matches_allowed_pattern?(name) end |