module Fog::Hetznercloud::Errors
Public Class Methods
decode_error(error)
click to toggle source
# File lib/fog/hetznercloud/errors.rb, line 4 def self.decode_error(error) body = begin Fog::JSON.decode(error.response.body) rescue Fog::JSON::DecodeError nil end return if body.nil? code = body['error']['code'] message = body['error']['message'] details = body['error']['details'] return if code.nil? || message.nil? unless details.nil? message << "\n" message << format_details(details) end { code: code, message: message } end
format_details(details)
click to toggle source
# File lib/fog/hetznercloud/errors.rb, line 27 def self.format_details(details) details.map { |field, msgs| format_field(field, msgs) }.join("\n") end
format_field(field, msgs)
click to toggle source
# File lib/fog/hetznercloud/errors.rb, line 31 def self.format_field(field, msgs) msgs = msgs.map { |msg| "\t\t- #{msg}" } "\t#{field}:\n#{msgs.join("\n")}" end