RuboCop RSpec

Join the chat at https://gitter.im/rubocop-rspec/Lobby Gem Version Dependency Status Build Status Coverage Status Code Climate

RSpec-specific analysis for your projects, as an extension to RuboCop.

Installation

Just install the rubocop-rspec gem

gem install rubocop-rspec

or if you use bundler put this in your Gemfile

gem 'rubocop-rspec'

Usage

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

RuboCop configuration file

Put this into your .rubocop.yml.

require: rubocop-rspec

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

Command line

rubocop --require rubocop-rspec

Rake task

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

Code Climate

rubocop-rspec is available on Code Climate as part of the rubocop engine. Learn More.

Inspecting files that don't end with _spec.rb

By default, rubocop-rspec only inspects code within paths ending in _spec.rb or including spec/. You can override this setting in your config file by specifying one or more patterns:

# Inspect all files
AllCops:
  RSpec:
    Patterns:
    - '.+'
# Inspect only files ending with `_test.rb`
AllCops:
  RSpec:
    Patterns:
    - '_test.rb$'

The Cops

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

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

RSpec/FilePath:
  Exclude:
    - spec/my_poorly_named_spec_file.rb

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

License

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