Exception: K3cloud::K3cloudError

Inherits:
StandardError
  • Object
show all
Defined in:
lib/k3cloud/errors/k3cloud_error.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeK3cloudError

Returns a new instance of K3cloudError.



9
10
11
12
13
14
# File 'lib/k3cloud/errors/k3cloud_error.rb', line 9

def initialize
  @message = nil
  @inner_ex_wrapper = nil
  @inner_exception = nil
  super
end

Instance Attribute Details

#inner_ex_wrapperObject

Returns the value of attribute inner_ex_wrapper.



7
8
9
# File 'lib/k3cloud/errors/k3cloud_error.rb', line 7

def inner_ex_wrapper
  @inner_ex_wrapper
end

#inner_exceptionObject

Returns the value of attribute inner_exception.



7
8
9
# File 'lib/k3cloud/errors/k3cloud_error.rb', line 7

def inner_exception
  @inner_exception
end

#messageObject

Returns the value of attribute message.



7
8
9
# File 'lib/k3cloud/errors/k3cloud_error.rb', line 7

def message
  @message
end

Class Method Details

.parse(json) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/k3cloud/errors/k3cloud_error.rb', line 16

def self.parse(json)
  index = json.index("{")
  json = json[index..-1] if index >= 0

  parsed_json = JSON.parse(json)
  kd_error = K3cloudError.new
  kd_error.message = parsed_json["Message"]
  kd_error.inner_ex_wrapper = K3cloudError.parse(parsed_json["InnerExWrapper"].to_json)
  kd_error.inner_exception = K3cloudError.parse(parsed_json["InnerException"].to_json)
  kd_error
rescue StandardError => e
  K3cloud.logger.error({ errmsg: "Failed to parse exception message. #{e.message}", backtrace: "#{e.backtrace}", type: 'error', lever: 'ERROR' })
  nil
end