Skip to content

Shared Rubocop configuration for Search.gov repos

License

Notifications You must be signed in to change notification settings

GSA/searchgov_style

Repository files navigation

searchgov_style

Shared Rubocop configuration for Search.gov repositories

Installation

Add this line to your application's Gemfile:

group :test, :development do
  gem 'searchgov_style'
end

And then execute:

$ bundle

Or install it yourself as:

$ gem install searchgov_style

In the root directory of the repo using this gem, create a .rubocop.yml with the following directives:

For repositories that use Code Climate:

Refer to the work around for Code Climate's inability to use Rubocop's inherit_gem directive.

inherit_from:
  - https://raw.githubusercontent.com/GSA/searchgov_style/main/.default.yml

For repositories that do not use Code Climate:

inherit_gem:
  searchgov_style:
    - .default.yml
  • Generate a .rubocop_todo.yml:

      rubocop --auto-gen-config --auto-gen-only-exclude --exclude-limit 2000
    
  • Add the following entry to .gitignore:

      .rubocop*default-yml
    

Usage

Run:

$ bundle exec rubocop

You do not need to include rubocop directly in your application's dependencies. searchgov_style will include specific versions of rubocop and related gems (such as rubocop-rspec) that are shared across all projects.

Refer to the Rubocop documentation for Rubocop usage instructions.

Development

Install the development gems:

$ bundle

Run Rubocop on the gem repository itself:

$ rubocop

Upgrading Rubocop

To upgrade the version of Rubocop used by this gem, perform the following steps to ensure compatibility with CodeClimate:

  1. Verify that the new version is supported by CodeClimate:
    list of Rubocop channels for CodeClimate
  2. Verify that the new version is listed as a channel for the Rubocop engine for the CodeClimate CLI:
    CodeClimate Engines
  3. Bump the version of Rubocop in the gemspec
  4. Bump the Rubocop channel in .codeclimate.yml

Verify your configuration and compatibility locally using the CodeClimate CLI:

$ bundle update
$ codeclimate validate-config
$ codeclimate analyze lib/ -e rubocop

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/searchgov_style.

License

The gem is available as open source under the terms of the MIT License.

About

Shared Rubocop configuration for Search.gov repos

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages