rubocop / rubocop-performance

An extension of RuboCop focused on code performance checks.
https://docs.rubocop.org/rubocop-performance
MIT License
685 stars 81 forks source link
code-formatter hacktoberfest linter rubocop ruby static-code-analysis

RuboCop Performance

Gem Version CI Discord

Performance optimization analysis for your projects, as an extension to RuboCop.

Installation

Just install the rubocop-performance gem

$ gem install rubocop-performance

or if you use bundler put this in your Gemfile

gem 'rubocop-performance', require: false

Usage

You need to tell RuboCop to load the Performance extension. There are three ways to do this:

RuboCop configuration file

Put this into your .rubocop.yml.

require: rubocop-performance

Alternatively, use the following array notation when specifying multiple extensions.

require:
  - rubocop-other-extension
  - rubocop-performance

Now you can run rubocop and it will automatically load the RuboCop Performance cops together with the standard cops.

Command line

$ rubocop --require rubocop-performance

Rake task

require 'rubocop/rake_task'

RuboCop::RakeTask.new do |task|
  task.requires << 'rubocop-performance'
end

The Cops

All cops are located under lib/rubocop/cop/performance, and contain examples/documentation.

In your .rubocop.yml, you may treat the Performance cops just like any other cop. For example:

Performance/Size:
  Exclude:
    - lib/example.rb

Documentation

You can read a lot more about RuboCop Performance in its official docs.

Compatibility

RuboCop Performance complies with the RuboCop core compatibility.

See the compatibility documentation for further details.

Note: Performance cops are all MRI focused and are highly dependent of the version of MRI you're using.

Contributing

Checkout the contribution guidelines.

License

rubocop-performance is MIT licensed. See the accompanying file for the full text.