In the spirit of free software, everyone is encouraged to help improve this project.
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, clean up inconsistent whitespace )
- by refactoring code
- by closing issues
- by reviewing patches
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.
- Fork the repository.
- Create a topic branch.
git checkout -b local_topic_branch
- Add specs for your unimplemented feature or bug fix.
- Run
bundle exec rake test
. If your specs pass, return to step 3. - Implement your feature or bug fix.
- Run
bundle exec rake test
. If your specs fail, return to step 5. - Add, commit, and push your changes. To push your topic branch use
git push -u origin local_topic_branch
. - Submit a pull request.
Here are some reasons why a pull request may not be merged:
- It hasn’t been reviewed.
- It doesn’t include specs for new functionality.
- It doesn’t include documentation for new functionality.
- It changes behavior without changing the relevant documentation, comments, or specs.
- It changes behavior of an existing public API, breaking backward compatibility.
- It breaks the tests on a supported platform.
- It doesn’t merge cleanly (requiring Git rebasing and conflict resolution).
Include this emoji in the top of your ticket to signal to us that you read this file: 📝