Skip to content

south37/hbw

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HBW

Simple wrapper of Honeybadger.

Installation

Add this line to your application's Gemfile:

gem 'hbw'

And then execute:

$ bundle

Or install it yourself as:

$ gem install hbw

Usage

By using HBW.notify, you can report error to honeybadger.io if defined?(Honeybadger) is true and raise error if defined?(Honeybadger) is false.

HBW.notify("PaymentConfiguration", error_message, context: { company_id: self.id })

Arguments

# A. Exception only
HBW.notify(ex)

## equivalent code using `Honeybadger`
#
# if defined?(Honeybadger)
#   Honeybadger.notify(ex)
# else
#   raise ex
# end

# B. `error_class` and `error_message`
HBW.notify("PaymentConfiguration", "Empty payment period found in PaymentConfiguration#create_continuous_payments")

## equivalent code using `Honeybadger`
#
# if defined?(Honeybadger)
#   Honeybadger.notify(
#     error_class: "PaymentConfiguration",
#     error_message: "Empty payment period found in PaymentConfiguration#create_continuous_payments",
#   )
# else
#   raise "Empty payment period found in PaymentConfiguration#create_continuous_payments"
# end

# C. With other options
HBW.notify(
  "PaymentConfiguration",
  "Empty payment period found in PaymentConfiguration#create_continuous_payments",
  context: {
    payment_config_id: id,
    last_payment_id: last_payment.id
  }
)

## equivalent code using `Honeybadger`
#
# if defined?(Honeybadger)
#   Honeybadger.notify(
#     error_class: "PaymentConfiguration",
#     error_message: "Empty payment period found in PaymentConfiguration#create_continuous_payments",
#     context: {
#       payment_config_id: id,
#       last_payment_id: last_payment.id
#     }
#   )
# else
#   raise "Empty payment period found in PaymentConfiguration#create_continuous_payments"
# end

notice_only option

This option is default false.

HBW.notify(ex, notice_only: true)

## equivalent code using `Honeybadger`
#
# if defined?(Honeybadger)
#   Honeybadger.notify(ex, error_message: "[Notice Only] #{ex.class}: #{ex.message}")
# else
#   raise "[Notice Only] #{ex.class}: #{ex.message}"
# end

HBW.notify("PaymentConfiguration", "Empty payment period found in PaymentConfiguration#create_continuous_payments", notice_only: true)

## equivalent code using `Honeybadger`
#
# if defined?(Honeybadger)
#   Honeybadger.notify(
#     error_class: "PaymentConfiguration",
#     error_message: "[Notice Only] Notice: Empty payment period found in PaymentConfiguration#create_continuous_payments",
#   )
# else
#   raise "[Notice Only] Notice: Empty payment period found in PaymentConfiguration#create_continuous_payments"
# end

raise_development option

This option is default true. When defined?(Honeybadger) is false and HBW.notify is called, exception is raised by default. By setting raise_development: false, no exception is raised in such situation.

# `exception` is raised
[0] pry(main)> HBW.notify(RuntimeError.new("test error"))
RuntimeError: test error

# `exception` with specified `error_message` is raised
[1] pry(main)> HBW.notify("PaymentConfiguration", "Empty payment period found in PaymentConfiguration#create_continuous_payments")
RuntimeError: Empty payment period found in PaymentConfiguration#create_continuous_payments

# when `raise_development: false` is specified, no exception is raised
[2] pry(main)> HBW.notify(RuntimeError.new("test error"), raise_development: false)
=> nil

Development

After checking out the repo, run bin/setup to install dependencies. Then, run bin/rspec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/south37/hbw.

License

The gem is available as open source under the terms of the MIT License.

About

Simple wrapper of Honeybadger

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •