Honeybadger for Ruby
This is the notifier gem for integrating apps with the ⚡ Honeybadger Exception Notifier for Ruby and Rails.
When an uncaught exception occurs, Honeybadger will POST the relevant data to the Honeybadger server specified in your environment.
Documentation and Support
For comprehensive documentation and support, check out our documentation site.
Changelog
Changelog is generated automatically as part of the release process, using conventional commits.
Development
Pull requests are welcome. If you're adding a new feature, please submit an issue as a preliminary step; that way you can be (moderately) sure that your pull request will be accepted.
If you're integrating your gem/open source project with Honeybadger, please consider submitting an official plugin to our gem. Submit an issue to discuss with us!
We use YARD to document our API. Classes and methods which are safe to depend on in your gems/projects are marked "Public". All other classes/methods are considered internal and may change without notice -- don't depend on them! If you need a new public API, we're happy to work with you. Submit an issue to discuss.
To contribute your code:
- Fork it.
- Create a topic branch
git checkout -b my_branch
- Make your changes and add an entry to the CHANGELOG.
- Commit your changes
git commit -am "Boom"
- Push to your branch
git push origin my_branch
- Send a pull request
Running the tests
We're using the Appraisal gem to run our RSpec test suite against multiple versions of Rails.
- The unit test suite can be run with
rake spec:units
. - The integration test suite can be run with
rake spec:features
. - The combined suite can be run with
rake
.
Releasing
Releases are automated, using Github Actions:
- When a PR is merged on master, the ruby.yml workflow is executed, which runs the tests.
- If the tests pass, the release.yml workflow will be executed.
- Depending on the commit message, a release PR will be created with the suggested the version bump and changelog.
Note: Not all commit messages trigger a new release, for example,
chore: ...
will not trigger a release. - If the release PR is merged, the release.yml workflow will be executed again, and this time it will create a github release, bundle the gem and push it to RubyGems.
License
The Honeybadger gem is MIT licensed. See the LICENSE file in this repository for details.