rubocop-performance icon indicating copy to clipboard operation
rubocop-performance copied to clipboard

Add new `ArrayPushSingle` cop to replace `a.push(x)` with `a << x`

Open amomchilov opened this issue 1 year ago • 2 comments

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.

amomchilov avatar Jan 12 '24 01:01 amomchilov

Is this related to https://github.com/rubocop/rubocop/issues/12053 ?

ydakuka avatar Jan 12 '24 19:01 ydakuka

@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 << xs (or pushes) and turn them into one.

amomchilov avatar Jan 13 '24 04:01 amomchilov