Fix a false positive of Style/FormatStringToken
with unrelated format
method call
#5496
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Ref: #5483
Problem
Currently
Style/FormatStringToken
cop adds a falsy offense.But the cop does not add any offenses to the following code.
Cause
The cause is here.
https://github.com/bbatsov/rubocop/blob/86476f13e8e12e370f84911d82bef8638f3fdf96/lib/rubocop/cop/style/format_string_token.rb#L70-L77
The
node.ancestors.last
is a root node of ast. In other words, it equalsprocessed_source.ast
. So the code checksformat
method existence from whole a file.Solution
Check
format
method existence only from ancestors of the string node.Replace this text with a summary of the changes in your PR.
The more detailed you are, the better.
Before submitting the PR make sure the following are checked:
[Fix #issue-number]
(if the related issue exists).master
(if not - rebase it).and description in grammatically correct, complete sentences.
rake default
orrake parallel
. It executes all tests and RuboCop for itself, and generates the documentation.