Sha256: 9b7d9cf433a17c190d68af59a2bae00cfbf260aa7158bc46a1419894e58185fa
Contents?: true
Size: 1.31 KB
Versions: 2
Compression:
Stored size: 1.31 KB
Contents
require 'captivus/util' require "captivus/version" require 'captivus/configuration' require 'captivus/notifier' require 'captivus/backtrace' require 'captivus/payload' module Captivus class << self def config @config ||= Configuration.new end def configure(*args, &block) config.configure *args, &block end def notifier @notifier ||= Notifier.new config end def notify(exception, data = {}) notifier.notify build_payload(exception, data) end private def build_payload(exception, data = {}) if exception.respond_to?(:class) && exception.class.respond_to?(:name) && exception.respond_to?(:message) event_json = { 'type' => exception.class.name, 'message' => exception.message, 'timestamp' => Time.now.utc.strftime("%Y-%m-%dT%H:%M:%SZ") } else raise ArgumentError, "Unexpected exception: #{exception.inspect}" end Payload.new(Captivus::Util.hash_to_json({ 'notifier' => {'name' => 'captivus', 'version' => Captivus::VERSION, 'language' => 'Ruby'}, 'event' => event_json, 'backtrace' => Backtrace.new(exception).as_json, 'environment' => {'name' => config.environment} }.merge(data))) end end end require 'captivus/railtie' if defined?(Rails::Railtie)
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
captivus-0.0.6 | lib/captivus.rb |
captivus-0.0.5 | lib/captivus.rb |