Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/honeybadger-io/honeybadger-ruby

Ruby gem for reporting errors to honeybadger.io
https://github.com/honeybadger-io/honeybadger-ruby

cli-command error-notification honeybadger rails ruby

Last synced: about 1 month ago
JSON representation

Ruby gem for reporting errors to honeybadger.io

Awesome Lists containing this project

README

        

# Honeybadger for Ruby

[![Ruby](https://github.com/honeybadger-io/honeybadger-ruby/actions/workflows/ruby.yml/badge.svg)](https://github.com/honeybadger-io/honeybadger-ruby/actions/workflows/ruby.yml)
[![Gem Version](https://badge.fury.io/rb/honeybadger.svg)](http://badge.fury.io/rb/honeybadger)

This is the notifier gem for integrating apps with the :zap: [Honeybadger Exception Notifier for Ruby and Rails](https://www.honeybadger.io).

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](https://docs.honeybadger.io/lib/ruby/).

## Changelog

Changelog is generated automatically as part of the release process, using
[conventional commits](https://www.conventionalcommits.org/).

## Development

Pull requests are welcome. If you're adding a new feature, please [submit an issue](https://github.com/honeybadger-io/honeybadger-ruby/issues/new) 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](https://github.com/honeybadger-io/honeybadger-ruby/issues/new) to discuss with us!

We use [YARD](https://yardoc.org/) 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](https://github.com/honeybadger-io/honeybadger-ruby/issues/new) to discuss.

### To contribute your code:

1. Fork it.
2. Create a topic branch `git checkout -b my_branch`
3. Make your changes and add an entry to the [CHANGELOG](CHANGELOG.md).
4. Commit your changes `git commit -am "Boom"`
5. Push to your branch `git push origin my_branch`
6. Send a [pull request](https://github.com/honeybadger-io/honeybadger-ruby/pulls)

### Running the tests

We're using the [Appraisal](https://github.com/thoughtbot/appraisal) gem to run
our [RSpec](https://www.relishapp.com/rspec/) test suite against multiple
versions of [Rails](http://rubyonrails.org/).

* 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](.github/workflows/release.yml):
- When a PR is merged on master, the [ruby.yml](.github/workflows/ruby.yml) workflow is executed, which runs the tests.
- If the tests pass, the [release.yml](.github/workflows/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](.github/workflows/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](https://raw.github.com/honeybadger-io/honeybadger-ruby/master/LICENSE) file in this repository for details.