class RuboCop::Cop::Naming::ConstantName

This cop checks whether constant names are written using SCREAMING_SNAKE_CASE.

To avoid false positives, it ignores cases in which we cannot know for certain the type of value that would be assigned to a constant.

Constants

MSG
SNAKE_CASE

Public Instance Methods

on_casgn(node) click to toggle source
# File lib/rubocop/cop/naming/constant_name.rb, line 15
def on_casgn(node)
  _scope, const_name, value = *node

  # We cannot know the result of method calls like
  # NewClass = something_that_returns_a_class
  # It's also ok to assign a class constant another class constant
  # SomeClass = SomeOtherClass
  return if value && %i[send block const].include?(value.type)

  add_offense(node, location: :name) if const_name !~ SNAKE_CASE
end