Class: Datadog::Core::Error
- Inherits:
-
Object
- Object
- Datadog::Core::Error
- Defined in:
- lib/datadog/core/error.rb
Overview
Error is a value-object responsible for sanitizing/encapsulating error data
Constant Summary collapse
- BlankError =
Error.new
- ContainsMessage =
->(v) { v.respond_to?(:message) }
Instance Attribute Summary collapse
-
#backtrace ⇒ Object
readonly
Returns the value of attribute backtrace.
-
#message ⇒ Object
readonly
Returns the value of attribute message.
-
#type ⇒ Object
readonly
Returns the value of attribute type.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(type = nil, message = nil, backtrace = nil) ⇒ Error
constructor
A new instance of Error.
Constructor Details
#initialize(type = nil, message = nil, backtrace = nil) ⇒ Error
Returns a new instance of Error.
88 89 90 91 92 93 94 |
# File 'lib/datadog/core/error.rb', line 88 def initialize(type = nil, = nil, backtrace = nil) backtrace = Array(backtrace).join("\n") unless backtrace.is_a?(String) @type = Utils.utf8_encode(type) @message = Utils.utf8_encode() @backtrace = Utils.utf8_encode(backtrace) end |
Instance Attribute Details
#backtrace ⇒ Object (readonly)
Returns the value of attribute backtrace.
9 10 11 |
# File 'lib/datadog/core/error.rb', line 9 def backtrace @backtrace end |
#message ⇒ Object (readonly)
Returns the value of attribute message.
9 10 11 |
# File 'lib/datadog/core/error.rb', line 9 def @message end |
#type ⇒ Object (readonly)
Returns the value of attribute type.
9 10 11 |
# File 'lib/datadog/core/error.rb', line 9 def type @type end |
Class Method Details
.build_from(value) ⇒ Object
12 13 14 15 16 17 18 19 20 21 |
# File 'lib/datadog/core/error.rb', line 12 def build_from(value) case value when Error then value when Array then new(*value) when Exception then new(value.class, value., full_backtrace(value)) when ContainsMessage then new(value.class, value.) when String then new(nil, value) else BlankError end end |