Class: Raven::Context

Inherits:
Object show all
Defined in:
lib/raven/context.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeContext

Returns a new instance of Context.



16
17
18
19
20
21
22
23
24
# File 'lib/raven/context.rb', line 16

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

Instance Attribute Details

#extraObject

Returns the value of attribute extra.



14
15
16
# File 'lib/raven/context.rb', line 14

def extra
  @extra
end

#rack_envObject

Returns the value of attribute rack_env.



14
15
16
# File 'lib/raven/context.rb', line 14

def rack_env
  @rack_env
end

#runtimeObject

Returns the value of attribute runtime.



14
15
16
# File 'lib/raven/context.rb', line 14

def runtime
  @runtime
end

#server_osObject

Returns the value of attribute server_os.



14
15
16
# File 'lib/raven/context.rb', line 14

def server_os
  @server_os
end

#tagsObject

Returns the value of attribute tags.



14
15
16
# File 'lib/raven/context.rb', line 14

def tags
  @tags
end

#transactionObject

Returns the value of attribute transaction.



14
15
16
# File 'lib/raven/context.rb', line 14

def transaction
  @transaction
end

#userObject

Returns the value of attribute user.



14
15
16
# File 'lib/raven/context.rb', line 14

def user
  @user
end

Class Method Details

.clear!Object



10
11
12
# File 'lib/raven/context.rb', line 10

def self.clear!
  Thread.current[:sentry_context] = nil
end

.currentObject



6
7
8
# File 'lib/raven/context.rb', line 6

def self.current
  Thread.current[:sentry_context] ||= new
end

.os_contextObject



27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/raven/context.rb', line 27

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

.runtime_contextObject



40
41
42
43
44
45
# File 'lib/raven/context.rb', line 40

def runtime_context
  @runtime_context ||= {
    name: RbConfig::CONFIG["ruby_install_name"],
    version: RUBY_DESCRIPTION || Raven.sys_command("ruby -v")
  }
end