class RuboCop::Cop::Style::ColonMethodCall

This cop checks for methods invoked via the

operator instead

of the . operator (like FileUtils::rmdir instead of FileUtils.rmdir).

Constants

JAVA_TYPES
JAVA_TYPE_NODES
MSG

Public Instance Methods

allowed_name(method_name) click to toggle source
# File lib/rubocop/cop/style/colon_method_call.rb, line 30
def allowed_name(method_name)
  method_name.match(/^[A-Z]/)
end
autocorrect(node) click to toggle source
# File lib/rubocop/cop/style/colon_method_call.rb, line 34
def autocorrect(node)
  ->(corrector) { corrector.replace(node.loc.dot, '.') }
end
on_send(node) click to toggle source
# File lib/rubocop/cop/style/colon_method_call.rb, line 17
def on_send(node)
  # ignore Java interop code like Java::int
  return if JAVA_TYPE_NODES.include?(node)

  receiver, method_name, *_args = *node

  # discard methods with nil receivers and op methods(like [])
  return unless receiver && node.loc.dot && node.loc.dot.is?('::')
  return if allowed_name(method_name.to_s)

  add_offense(node, :dot)
end