BOXT Rubocop
Base Rubocop settings for all Boxt Ruby projects.
Requirements
- Ruby >= 3.0
Installation
Add this line to your application's Gemfile:
group :development, :test do
# ...
gem "boxt_rubocop"
end
And then execute:
bundle
Usage
Put this into your .rubocop.yml.
require:
- boxt_rubocop
To enable additional configuration for rubocop-rails
and rubocop-rspec
, add the following to your .rubocop.yml:
inherit_gem:
boxt_rubocop:
- rails.yml # use Rails cops - see Additional Extensions/Cops
- rspec.yml # use rspec cops - see Additional Extensions/Cops
Creating new custom cops
Use the rake task new_cop to generate a cop template:
$ bundle exec rake 'new_cop[Boxt/Name]'
[create] lib/rubocop/cop/boxt/name.rb
[create] spec/rubocop/cop/boxt/name_spec.rb
[modify] lib/rubocop/cop/boxt_cops.rb - `require_relative 'boxt/name'` was injected.
[modify] A configuration for the cop is added into config/default.yml.
Documentation on creating a new cop can be found here.
NewCops
NewCops
is enabled by default.
Additional Extensions/Cops
The following Rubocop gems are also installed with this gem:
To enable these add the following to your .rubocop.yml
file.
inherit_gem:
boxt_rubocop:
# .... add cops
require:
- rubocop-faker # if your project is using the Faker gem then add this
- rubocop-performance # Add this for performance cops
- rubocop-rails # if your project is a Rails app/engine then add this, plus the - rails.yml setting above
- rubocop-rake # if your project is using rake then add this
- rubocop-rspec # if your project is using rspec then add this, plus the - rspec.yml setting above
Editor Plugins
There are also some useful Rubocop editor plugins to help with in-editor linting.
Atom
RubyMine
VSCode
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/boxt/boxt_rubocop.
License
The gem is available as open source under the terms of the MIT License.