Class: RuboCop::Cop::Style::ClassVars

Inherits:
Cop
  • Object
show all
Defined in:
lib/rubocop/cop/style/class_vars.rb

Overview

This cop checks for uses of class variables. Offenses are signaled only on assignment to class variables to reduced the number of offenses that would be reported.

Constant Summary collapse

MSG =
'Replace class var %s with a class instance var.'

Constants included from Util

Util::ASGN_NODES, Util::BASIC_LITERALS, Util::EQUALS_ASGN_NODES, Util::LITERALS, Util::OPERATOR_METHODS, Util::PROC_NEW_NODE, Util::SHORTHAND_ASGN_NODES

Instance Attribute Summary

Attributes inherited from Cop

#config, #corrections, #offenses, #processed_source

Instance Method Summary collapse

Methods inherited from Cop

#add_offense, all, #config_to_allow_offenses, #config_to_allow_offenses=, #cop_config, cop_name, #cop_name, cop_type, #correct, #debug?, #details, #display_cop_names?, #display_style_guide?, #excluded_file?, #extra_details?, inherited, #initialize, #join_force?, lint?, match?, non_rails, qualified_cop_name, rails?, #reference_url, #relevant_file?, #style_guide_url

Methods included from NodePattern::Macros

#def_node_matcher, #def_node_search

Methods included from AutocorrectLogic

#autocorrect?, #autocorrect_enabled?, #autocorrect_requested?, #support_autocorrect?

Methods included from IgnoredNode

#ignore_node, #ignored_node?, #part_of_ignored_node?

Methods included from Util

begins_its_line?, block_length, command?, comment_line?, const_name, directions, first_part_of_call_chain, lambda?, lambda_or_proc?, line_range, move_pos, numeric_range_size, on_node, operator?, parentheses?, proc?, range_with_surrounding_comma, range_with_surrounding_space, source_range, strip_quotes, within_node?

Methods included from PathUtil

hidden?, issue_deprecation_warning, match_path?, relative_path

Constructor Details

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

Instance Method Details

#message(node) ⇒ Object



16
17
18
19
# File 'lib/rubocop/cop/style/class_vars.rb', line 16

def message(node)
  class_var, = *node
  format(MSG, class_var)
end

#on_cvasgn(node) ⇒ Object



12
13
14
# File 'lib/rubocop/cop/style/class_vars.rb', line 12

def on_cvasgn(node)
  add_offense(node, :name)
end