oopsie-ruby
Lightweight Ruby gem that reports exceptions to an Oopsie instance.
- Zero runtime dependencies (uses Ruby stdlib)
- Rack middleware for automatic error capture
- Manual
Oopsie.report(e)API - Silent failures with optional
on_errorcallback
Installation
Add to your Gemfile:
gem "oopsie-ruby"Then run:
bundle installConfiguration
Oopsie.configure do |config|
config.api_key = ENV["OOPSIE_API_KEY"]
config.endpoint = "https://your-oopsie-instance.com"
# Optional: called when error reporting itself fails
config.on_error = ->(e) { Rails.logger.warn("Oopsie error: #{e.message}") }
endRails initializer
Create config/initializers/oopsie.rb:
Oopsie.configure do |config|
config.api_key = Rails.application.credentials.oopsie_api_key
config.endpoint = "https://your-oopsie-instance.com"
endRack Middleware
Add the middleware to automatically capture unhandled exceptions:
# config.ru
use Oopsie::MiddlewareIn Rails, add to config/application.rb:
config.middleware.use Oopsie::MiddlewareThe middleware reports the error and re-raises it, so your existing error handling is unaffected.
Manual Reporting
Report exceptions anywhere in your code:
begin
do_something_risky
rescue => e
Oopsie.report(e)
endOopsie.report never raises — if reporting fails, it silently swallows the error (or calls your on_error callback).
Requirements
- Ruby >= 3.1
License
MIT