class Rubocop::Cop::Style::SymbolName
There’s also an option to accept symbol names with dots as well.
There’s also an option to accept CamelCase symbol names as well.
This cop checks whether symbol names are snake_case.
def allow_camel_case?
def allow_camel_case? cop_config['AllowCamelCase'] end
def allow_dots?
def allow_dots? cop_config['AllowDots'] end
def on_send(node)
def on_send(node) receiver, method_name, *args = *node # Arguments to Module#private_constant are symbols referring to # existing constants, so they will start with an upper case letter. # We ignore these symbols. if receiver.nil? && method_name == :private_constant args.each { |a| ignore_node(a) } end end
def on_sym(node)
def on_sym(node) return if ignored_node?(node) sym_name = node.to_a[0] return unless sym_name =~ /^[a-zA-Z]/ return if sym_name =~ SNAKE_CASE return if allow_camel_case? && sym_name =~ CAMEL_CASE return if allow_dots? && sym_name =~ SNAKE_CASE_WITH_DOTS convention(node, :expression) end