Exception: RuboCop::Runner::InfiniteCorrectionLoop

Inherits:
StandardError
  • Object
show all
Defined in:
lib/rubocop/runner.rb

Overview

An exception indicating that the inspection loop got stuck correcting offenses back and forth.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(path, offenses_by_iteration, loop_start: -1)) ⇒ InfiniteCorrectionLoop

Returns a new instance of InfiniteCorrectionLoop.

 14 15 16 17 18 19 20 21 22 23 24
# File 'lib/rubocop/runner.rb', line 14 def initialize(path, offenses_by_iteration, loop_start: -1) @offenses = offenses_by_iteration.flatten.uniq root_cause = offenses_by_iteration[loop_start..] .map { |x| x.map(&:cop_name).uniq.join(', ') } .join(' -> ') message = 'Infinite loop detected' message += " in #{path}" if path message += " and caused by #{root_cause}" if root_cause super(message) end

Instance Attribute Details

#offensesObject (readonly)

Returns the value of attribute offenses.

 12 13 14
# File 'lib/rubocop/runner.rb', line 12 def offenses @offenses end