Class: Rollbar::Item::Backtrace

Inherits:
Object
  • Object
show all
Defined in:
lib/rollbar/item/backtrace.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(exception, options = {}) ⇒ Backtrace

Returns a new instance of Backtrace.



10
11
12
13
14
15
16
# File 'lib/rollbar/item/backtrace.rb', line 10

def initialize(exception, options = {})
  @exception = exception
  @message = options[:message]
  @extra = options[:extra]
  @configuration = options[:configuration]
  @files = {}
end

Instance Attribute Details

#configurationObject (readonly)

Returns the value of attribute configuration.



6
7
8
# File 'lib/rollbar/item/backtrace.rb', line 6

def configuration
  @configuration
end

#exceptionObject (readonly)

Returns the value of attribute exception.



6
7
8
# File 'lib/rollbar/item/backtrace.rb', line 6

def exception
  @exception
end

#extraObject (readonly)

Returns the value of attribute extra.



6
7
8
# File 'lib/rollbar/item/backtrace.rb', line 6

def extra
  @extra
end

#messageObject (readonly)

Returns the value of attribute message.



6
7
8
# File 'lib/rollbar/item/backtrace.rb', line 6

def message
  @message
end

Instance Method Details

#get_file_lines(filename) ⇒ Object



33
34
35
# File 'lib/rollbar/item/backtrace.rb', line 33

def get_file_lines(filename)
  files[filename] ||= read_file(filename)
end

#to_hObject Also known as: build



18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/rollbar/item/backtrace.rb', line 18

def to_h
  traces = trace_chain

  traces[0][:exception][:description] = message if message
  traces[0][:extra] = extra if extra

  if traces.size > 1
    { :trace_chain => traces }
  elsif traces.size == 1
    { :trace => traces[0] }
  end
end