class RuboCop::Cop::Style::ClassVars


end
end
class_variable_get(“@@#{name}”) # you can access without offense
def self.test(name)
class A
end
end
@@test # you can access class variable without offense
def test
class A
end
@test = 10
class A
# good
A.class_variable_set(:@@test, 10)
class A; end
end
end
class_variable_set(“@@#{name}”, value)
def self.test(name, value)
class A
end
@@test = 10
class A
# bad
@example
use a class instance variable instead.
classes. This means that it’s almost always better to
value of a class variable also affects the inheriting
variable; if a class has been inherited, changing the
You have to be careful when setting a value for a class
reduce the number of offenses that would be reported.
are signaled only on assignment to class variables to
This cop checks for uses of class variables. Offenses

def on_cvasgn(node)

def on_cvasgn(node)
  add_offense(node.loc.name, message: format(MSG, class_var: node.children.first))
end

def on_send(node)

def on_send(node)
  add_offense(
    node.first_argument, message: format(MSG, class_var: node.first_argument.source)
  )
end