Contributing to Factory Bot
We love pull requests from everyone. By participating in this project, you agree to abide by the thoughtbot code of conduct.
Here are some ways you can contribute:
- by using alpha, beta, and prerelease versions
- by reporting bugs
- by suggesting new features
- by writing or editing documentation
- by writing specifications
- by writing code ( no patch is too small : fix typos, add comments, etc. )
- by refactoring code
- by closing issues
- by reviewing patches
Submitting an Issue
- We use the GitHub issue tracker to track bugs and features.
- Before submitting a bug report or feature request, check to make sure it hasn't already been submitted.
- When submitting a bug report, please include a reproduction script and any other details that may be necessary to reproduce the bug, including your gem version, Ruby version, and operating system.
Cleaning up issues
- Issues that have no response from the submitter will be closed after 30 days.
- Issues will be closed once they're assumed to be fixed or answered. If the maintainer is wrong, it can be opened again.
- If your issue is closed by mistake, please understand and explain the issue. We will happily reopen the issue.
Submitting a Pull Request
- Fork the official repository.
- Create a topic branch.
- Implement your feature or bug fix.
- Add, commit, and push your changes.
- Submit a pull request.
- Please add tests if you changed code. Contributions without tests won't be accepted.
- If you don't know how to add tests, please put in a PR and leave a comment asking for help. We love helping!
- Please don't update the Gem version.
Running the test suite
The default rake task will run the full test suite and standard:
bundle exec rake
You can also run a single group of tests (unit, spec, or feature)
bundle exec rake spec:unit bundle exec rake spec:acceptance bundle exec rake features
To run an individual rspec test, you can provide a path and line number:
bundle exec rspec spec/path/to/spec.rb:123
You can run tests with a specific version of rails via appraisal. To run the default rake task against Rails 6, for example:
bundle exec appraisal 6.0 rake
Use standard to automatically format your code:
bundle exec rake standard:fix