Class: ErrorData

Inherits:
Object
  • Object
show all
Includes:
Schema::DataStructure
Defined in:
lib/error_data/convert.rb,
lib/error_data/error_data.rb,
lib/error_data/controls/error.rb,
lib/error_data/controls/error_data.rb,
lib/error_data/error_data/backtrace.rb,
lib/error_data/controls/error/message.rb,
lib/error_data/controls/error/backtrace.rb,
lib/error_data/error_data/backtrace/frame.rb

Defined Under Namespace

Modules: Controls, Convert, Transform Classes: Backtrace

Instance Method Summary collapse

Instance Method Details

#correspond?(error) ⇒ Boolean

Returns:

  • (Boolean)


32
33
34
35
36
37
38
39
40
# File 'lib/error_data/error_data.rb', line 32

def correspond?(error)
  error_corresponds =
    class_name == error.class.name &&
    message == error.message

  backtrace_corresponds = backtrace.text_frames == error.backtrace

  error_corresponds && backtrace_corresponds
end

#set_backtrace(backtrace) ⇒ Object



28
29
30
# File 'lib/error_data/error_data.rb', line 28

def set_backtrace(backtrace)
  self.backtrace = Backtrace.parse(backtrace)
end

#transform_read(data) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
# File 'lib/error_data/error_data.rb', line 16

def transform_read(data)
  backtrace = data.delete(:backtrace)

  return if backtrace.nil?

  backtrace.each do |frame_data|
    frame = Backtrace::Frame.build(frame_data)

    self.backtrace.add_frame(frame)
  end
end

#transform_write(data) ⇒ Object



8
9
10
11
12
13
14
# File 'lib/error_data/error_data.rb', line 8

def transform_write(data)
  backtrace = data.delete(:backtrace)

  backtrace_data = backtrace.to_a

  data[:backtrace] = backtrace_data
end