If you encounter problems or have ideas for improvements or new features, please report them to the issue tracker or submit a pull request. Please, try to follow these guidelines when you do so.
- Check that the issue has not already been reported.
- Check that the issue has not already been fixed in the latest code (a.k.a.
master). - Check if the issue is a non-goal of RuboCop RSpec.
- Be clear, concise, and precise in your description of the problem.
- Open an issue with a descriptive title and a summary in grammatically correct, complete sentences.
- Report the versions of
rubocop-rspec, as well as the output ofrubocop -V. - Include any relevant code to the issue summary.
- Fork the project.
- Create a feature branch.
- Make sure to add tests.
- Make sure the test suite passes (run
rake). - Add a changelog entry.
- Commit your changes.
- Push to the branch.
- Create new Pull Request.
We are running codespell with GitHub Actions to check spelling and
codespell.
codespell is written in Python and you can run it with:
$ codespell --ignore-words=.codespellignoreWe are running yamllint for linting YAML files. This is also run by GitHub Actions.
yamllint is written in Python and you can run it with:
$ yamllint .We are running mdformat for formatting Markdown files. This is also run by GitHub Actions.
mdformat is written in Python and you can run it with:
$ mdformat . --number- Document examples of good and bad code in your cop.
- Add an entry to
config/default.yml. It's an ordered list, so be sure to insert at the appropriate place. - Run
bundle exec rake. This will verify that the build passes as well as generate documentation and ensure thatconfig/default.ymlis up to date (don't forget to commit the documentation). - Add tests for as many use cases as you can think of. Always add tests for both bad code that should register an offense and good code that should not.
- Common pitfalls:
- If your cop inspects code outside of an example, check for false positives when similarly named variables are used inside of the example.
- If your cop inspects code inside of an example, check that it works when the example is empty (empty
describe,it, etc.).