rubocop / rubocop-performance

An extension of RuboCop focused on code performance checks.
https://docs.rubocop.org/rubocop-performance
MIT License
684 stars 81 forks source link

Make `Performance/MapCompact` aware of safe navigation operator #389

Closed ydakuka closed 11 months ago

ydakuka commented 11 months ago

Describe the solution you'd like

# bad
def my_method
  User.find_by(value: value)
      &.map(&:enabled)
      &.compact
end
# good
def my_method
  User.find_by(value: value)
      &.filter_map(&:enabled)
end

Rubocop

ydakuka@yauhenid:~/Work/project$ bin/rails_docker rubocop -V
1.57.2 (using Parser 3.2.2.4, rubocop-ast 1.29.0, running on ruby 2.7.8) [x86_64-linux]
  - rubocop-capybara 2.19.0
  - rubocop-factory_bot 2.24.0
  - rubocop-performance 1.19.1
  - rubocop-rails 2.22.0
  - rubocop-rake 0.6.0
  - rubocop-rspec 2.25.0
  - rubocop-thread_safety 0.5.1