Class: RuboCop::Cop::HGOOSTDD::NoRailsLoggerInDomain

Inherits:
Base
  • Object
show all
Extended by:
AutoCorrector
Defined in:
lib/rubocop/cop/hgoostdd/no_rails_logger_in_domain.rb

Overview

Domain code logs through an injected ‘logger:` collaborator, never the global `Rails.logger`. See HGOOSTDD §6.

Autocorrect rewrites ‘Rails.logger` (the receiver) to `@logger`, leaving any chained method call intact. Marked unsafe — assumes `@logger` exists.

Constant Summary collapse

MSG =
"Inject a `logger:` collaborator; do not reach for `Rails.logger` in domain code (§6)."

Instance Method Summary collapse

Instance Method Details

#on_send(node) ⇒ Object



19
20
21
22
23
24
25
# File 'lib/rubocop/cop/hgoostdd/no_rails_logger_in_domain.rb', line 19

def on_send(node)
  return unless rails_logger?(node)

  add_offense(node, message: MSG) do |corrector|
    corrector.replace(node, "@logger")
  end
end