Sha256: 4fdee71f647ad9a419fbf0a606163f15ca7e54b211a47230aaf02a9ba078a93f
Contents?: true
Size: 1.78 KB
Versions: 4
Compression:
Stored size: 1.78 KB
Contents
require "bundler" Bundler.setup(:default) require "httparty" require "logger" require "json" require "socket" require "rack" require "ostruct" require "raygun/version" require "raygun/configuration" require "raygun/client" require "raygun/middleware/rack_exception_interceptor" require "raygun/testable" require "raygun/railtie" if defined?(Rails) module Raygun # used to identify ourselves to Raygun CLIENT_URL = "https://github.com/MindscapeHQ/raygun4ruby" CLIENT_NAME = "Raygun4Ruby Gem" # Exceptions class ApiKeyRequired < StandardError; end class << self include Testable # Configuration Object (instance of Raygun::Configuration) attr_writer :configuration def setup yield(configuration) end def configuration @configuration ||= Configuration.new end def default_configuration configuration.defaults end def track_exception(exception_instance, env = {}) if should_report?(exception_instance) log("[Raygun] Tracking Exception...") Client.new.track_exception(exception_instance, env) end rescue Exception => e if configuration.failsafe_logger failsafe_log("Problem reporting exception to Raygun: #{e.class}: #{e.message}\n\n#{e.backrace.join("\n")}") else raise e end end def track_exceptions yield rescue => e track_exception(e) end def log(message) configuration.logger.info(message) if configuration.logger end def failsafe_log(message) configuration.failsafe_logger.info(message) end private def should_report?(exception) return false if configuration.silence_reporting return false if configuration.ignore.flatten.include?(exception.class.to_s) true end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
raygun4ruby-1.1.3 | lib/raygun.rb |
raygun4ruby-1.1.2 | lib/raygun.rb |
raygun4ruby-1.1.1 | lib/raygun.rb |
raygun4ruby-1.1.0 | lib/raygun.rb |