class RuboCop::Cop::Ditty::CallServicesDirectly

This cop enforces the use of `Service.method` instead of `Service.instance.method`. Calling the singleton instance has been deprecated for services.

@example

# bad
::Ditty::Services::Logger.instance.info 'This is a log message'

# good
::Ditty::Services::Logger.info 'This is a log message'

Constants

MSG

Public Instance Methods

autocorrect(node) click to toggle source
# File lib/rubocop/cop/ditty/call_services_directly.rb, line 33
def autocorrect(node)
  lambda do |corrector|
    internal = node.children.first.source
    corrector.replace(node.loc.expression, internal)
  end
end
on_send(node) click to toggle source
# File lib/rubocop/cop/ditty/call_services_directly.rb, line 27
def on_send(node)
  return unless service_instance_call?(node)

  add_offense(node)
end