Contributing
October 15, 2022 ยท View on GitHub
In the spirit of free software, everyone is encouraged to help improve this project. Here are some ways you can contribute:
- Use alpha, beta, and pre-release versions.
- Report bugs.
- Suggest new features.
- Write or edit documentation.
- Write specifications.
- Write code (no patch is too small: fix typos, add comments, clean up inconsistent whitespace).
- Refactor code.
- Fix issues.
- Review 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 Gist that includes a stack trace and any details that may be necessary to reproduce the bug, including your gem version, Ruby version, and operating system.
Ideally, a bug report should include a pull request with failing specs.
Submitting a Pull Request
- Fork the repository.
- Create a topic branch.
- Add specs for your unimplemented feature or bug fix.
- Run
appraisal rake spec. If your specs pass, return to step 3. - Implement your feature or bug fix.
- Run
appraisal rake. If your specs or any of the linters fail, return to step 5. - Open
coverage/index.html. If your changes are not completely covered by your tests, return to step 3. - Add documentation for your feature or bug fix.
- Commit and push your changes.
- Submit a pull request.
Tools to Help You Succeed
You will need a working copy of MySQL and PostgreSQL to run tests against them. At the root level of the gem, there is a docker-compose.yml file that sets up both of these services for you using either Podman Compose or Docker Compose. Both of these services will bind their default ports, so keep that in mind if you already have either database running on that port. Assuming you picked Podman, run:
podman-compose up
in the activerecord-ksuid directory to start the services.
After checking out the repository, run bin/setup to install dependencies. Then, run appraisal rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.
Before committing code, run appraisal rake to check that the code conforms to the style guidelines of the project, that all of the tests are green (if you're writing a feature; if you're only submitting a failing test, then it does not have to pass!), and that the changes are sufficiently documented.