Sha256: 3b96a951166fdfe8c0b8665262df42efc7e83c54d4106f3cdbea54a9909286ef
Contents?: true
Size: 1.14 KB
Versions: 3
Compression:
Stored size: 1.14 KB
Contents
require 'rbconfig' require 'etc' module Raven class Context def self.current Thread.current[:sentry_context] ||= new end def self.clear! Thread.current[:sentry_context] = nil end attr_accessor :transaction, :extra, :server_os, :rack_env, :runtime, :tags, :user def initialize self.server_os = self.class.os_context self.runtime = self.class.runtime_context self.extra = { :server => { :os => server_os, :runtime => runtime } } self.rack_env = nil self.tags = {} self.user = {} self.transaction = [] end class << self def os_context @os_context ||= begin uname = Etc.uname { name: uname[:sysname] || RbConfig::CONFIG["host_os"], version: uname[:version], build: uname[:release], kernel_version: uname[:version] } end end def runtime_context @runtime_context ||= { name: RbConfig::CONFIG["ruby_install_name"], version: RUBY_DESCRIPTION || Raven.sys_command("ruby -v") } end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
sentry-raven-3.1.2 | lib/raven/context.rb |
sentry-raven-3.1.1 | lib/raven/context.rb |
sentry-raven-3.1.0 | lib/raven/context.rb |