rubocop-performance
rubocop-performance copied to clipboard
Add new `ArrayPushSingle` cop to replace `a.push(x)` with `a << x`
Closes #431
Before submitting the PR make sure the following are checked:
- [x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
- [x] Wrote good commit messages.
- [x] Commit message starts with
[Fix #issue-number]
(if the related issue exists). - [x] Feature branch is up-to-date with
master
(if not - rebase it). - [x] Squashed related commits together.
- [x] Added tests.
- [x] Ran
bundle exec rake default
. It executes all tests and runs RuboCop on its own code. - [x] Added an entry (file) to the changelog folder named
{change_type}_{change_description}.md
if the new code introduces user-observable changes. See changelog entry format for details.
Is this related to https://github.com/rubocop/rubocop/issues/12053 ?
@ydakuka I hadn't seen that, but I guess it's pretty similar!
I think two separate cops would be good here. One to turn a.push(x)
into a << x
, and another to take a series of a << x
s (or pushes) and turn them into one.