We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
I encountered infinite loop when I run rubocop --auto-correct with the following code:
rubocop --auto-correct
link_to( a, b, { target: '_blank' } )
Expected the code to be auto-corrected like this:
link_to( a, b, target: '_blank', rel: 'noopener' )
Encountered infinite loop:
Infinite loop detected in /tmp/rubocop-rails-link-to-blank-test/test.rb and caused by Layout/LineLength, Rails/LinkToBlank /home/r7kamura/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rubocop-1.8.1/lib/rubocop/runner.rb:290:in `block in iterate_until_no_changes' /home/r7kamura/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rubocop-1.8.1/lib/rubocop/runner.rb:286:in `loop' /home/r7kamura/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rubocop-1.8.1/lib/rubocop/runner.rb:286:in `iterate_until_no_changes' /home/r7kamura/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rubocop-1.8.1/lib/rubocop/runner.rb:255:in `do_inspection_loop' /home/r7kamura/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rubocop-1.8.1/lib/rubocop/runner.rb:132:in `block in file_offenses' /home/r7kamura/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rubocop-1.8.1/lib/rubocop/runner.rb:157:in `file_offense_cache' /home/r7kamura/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rubocop-1.8.1/lib/rubocop/runner.rb:131:in `file_offenses' /home/r7kamura/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rubocop-1.8.1/lib/rubocop/runner.rb:122:in `process_file' /home/r7kamura/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rubocop-1.8.1/lib/rubocop/runner.rb:101:in `block in each_inspected_file' /home/r7kamura/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rubocop-1.8.1/lib/rubocop/runner.rb:100:in `each' /home/r7kamura/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rubocop-1.8.1/lib/rubocop/runner.rb:100:in `reduce' /home/r7kamura/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rubocop-1.8.1/lib/rubocop/runner.rb:100:in `each_inspected_file' /home/r7kamura/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rubocop-1.8.1/lib/rubocop/runner.rb:86:in `inspect_files' /home/r7kamura/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rubocop-1.8.1/lib/rubocop/runner.rb:47:in `run' /home/r7kamura/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rubocop-1.8.1/lib/rubocop/cli/command/execute_runner.rb:26:in `block in execute_runner' /home/r7kamura/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rubocop-1.8.1/lib/rubocop/cli/command/execute_runner.rb:52:in `with_redirect' /home/r7kamura/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rubocop-1.8.1/lib/rubocop/cli/command/execute_runner.rb:25:in `execute_runner' /home/r7kamura/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rubocop-1.8.1/lib/rubocop/cli/command/execute_runner.rb:17:in `run' /home/r7kamura/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rubocop-1.8.1/lib/rubocop/cli/command.rb:11:in `run' /home/r7kamura/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rubocop-1.8.1/lib/rubocop/cli/environment.rb:18:in `run' /home/r7kamura/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rubocop-1.8.1/lib/rubocop/cli.rb:65:in `run_command' /home/r7kamura/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rubocop-1.8.1/lib/rubocop/cli.rb:72:in `execute_runners' /home/r7kamura/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rubocop-1.8.1/lib/rubocop/cli.rb:41:in `run' /home/r7kamura/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rubocop-1.8.1/exe/rubocop:13:in `block in <top (required)>' /home/r7kamura/.rbenv/versions/2.7.2/lib/ruby/2.7.0/benchmark.rb:308:in `realtime' /home/r7kamura/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rubocop-1.8.1/exe/rubocop:12:in `<top (required)>' /home/r7kamura/.rbenv/versions/2.7.2/bin/rubocop:23:in `load' /home/r7kamura/.rbenv/versions/2.7.2/bin/rubocop:23:in `<top (required)>' /home/r7kamura/.rbenv/versions/2.7.2/lib/ruby/2.7.0/bundler/cli/exec.rb:63:in `load' /home/r7kamura/.rbenv/versions/2.7.2/lib/ruby/2.7.0/bundler/cli/exec.rb:63:in `kernel_load' /home/r7kamura/.rbenv/versions/2.7.2/lib/ruby/2.7.0/bundler/cli/exec.rb:28:in `run' /home/r7kamura/.rbenv/versions/2.7.2/lib/ruby/2.7.0/bundler/cli.rb:476:in `exec' /home/r7kamura/.rbenv/versions/2.7.2/lib/ruby/2.7.0/bundler/vendor/thor/lib/thor/command.rb:27:in `run' /home/r7kamura/.rbenv/versions/2.7.2/lib/ruby/2.7.0/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command' /home/r7kamura/.rbenv/versions/2.7.2/lib/ruby/2.7.0/bundler/vendor/thor/lib/thor.rb:399:in `dispatch' /home/r7kamura/.rbenv/versions/2.7.2/lib/ruby/2.7.0/bundler/cli.rb:30:in `dispatch' /home/r7kamura/.rbenv/versions/2.7.2/lib/ruby/2.7.0/bundler/vendor/thor/lib/thor/base.rb:476:in `start' /home/r7kamura/.rbenv/versions/2.7.2/lib/ruby/2.7.0/bundler/cli.rb:24:in `start' /home/r7kamura/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bundler-2.1.4/libexec/bundle:46:in `block in <top (required)>' /home/r7kamura/.rbenv/versions/2.7.2/lib/ruby/2.7.0/bundler/friendly_errors.rb:123:in `with_friendly_errors' /home/r7kamura/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bundler-2.1.4/libexec/bundle:34:in `<top (required)>' /home/r7kamura/.rbenv/versions/2.7.2/bin/bundle:23:in `load' /home/r7kamura/.rbenv/versions/2.7.2/bin/bundle:23:in `<main>'
And the code was corrected to:
link_to( a, b, { target: '_blank' }, rel: 'noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener noopener' )
Run bundle exec rubocop --auto-correct with the example code above.
bundle exec rubocop --auto-correct
$ ls Gemfile Gemfile.lock test.rb /tmp/rubocop-rails-link-to-blank-test $ cat Gemfile # frozen_string_literal: true source 'https://rubygems.org' gem 'rubocop' gem 'rubocop-rails' $ cat test.rb # frozen_string_literal: true link_to( a, b, { target: '_blank' } )
$ bundle exec rubocop -V 1.8.1 (using Parser 3.0.0.0, rubocop-ast 1.4.0, running on ruby 2.7.2 x86_64-linux) - rubocop-rails 2.9.1
The text was updated successfully, but these errors were encountered:
[Fix rubocop#421] Fix incorrect auto-correct for Rails/LinkToBlank
Rails/LinkToBlank
29a74b6
Fixes rubocop#421. This PR fixes incorrect auto-correct for `Rails/LinkToBlank` when using target_blank and hash brackets for option.
3f2f797
Fixes rubocop#421. This PR fixes incorrect auto-correct for `Rails/LinkToBlank` when using `target: '_blank'` and hash brackets for the option.
ebff591
Fixes rubocop#421. This PR fixes incorrect auto-correct for `Rails/LinkToBlank` when using `target: '_blank'` with hash brackets for the option.
Merge pull request #423 from koic/fix_incorrect_autocorrect_for_rails…
0e99ca4
…_link_to_blank [Fix #421] Fix incorrect auto-correct for `Rails/LinkToBlank`
Successfully merging a pull request may close this issue.
I encountered infinite loop when I run
rubocop --auto-correct
with the following code:Expected behavior
Expected the code to be auto-corrected like this:
Actual behavior
Encountered infinite loop:
And the code was corrected to:
Steps to reproduce the problem
Run
bundle exec rubocop --auto-correct
with the example code above.RuboCop version
The text was updated successfully, but these errors were encountered: