class RuboCop::Cop::Rails::Output
This cop checks for the use of output calls like puts and print
@example
# bad puts 'A debug message' pp 'A debug message' print 'A debug message' # good Rails.logger.debug 'A debug message'
Constants
- MSG
- RESTRICT_ON_SEND
Public Instance Methods
on_send(node)
click to toggle source
# File lib/rubocop/cop/rails/output.rb, line 40 def on_send(node) return unless (output?(node) || io_output?(node)) && node.arguments? range = offense_range(node) add_offense(range) do |corrector| corrector.replace(range, 'Rails.logger.debug') end end
Private Instance Methods
match_gvar?(sym)
click to toggle source
# File lib/rubocop/cop/rails/output.rb, line 52 def match_gvar?(sym) %i[$stdout $stderr].include?(sym) end
offense_range(node)
click to toggle source
# File lib/rubocop/cop/rails/output.rb, line 56 def offense_range(node) if node.receiver range_between(node.loc.expression.begin_pos, node.loc.selector.end_pos) else node.loc.selector end end