class Kokkai::Error
Constants
- ATTRIBUTES
- BadRequest
- ClientError
- ERRORS
Attributes
code[R]
Public Class Methods
from_response(body)
click to toggle source
# File lib/kokkai/error.rb, line 15 def from_response(body) message, code = parse_error(body) new(message, code) end
new(message, code)
click to toggle source
Calls superclass method
# File lib/kokkai/error.rb, line 39 def initialize(message, code) super(message) @code = code end
Private Class Methods
extract_message_from_error(body)
click to toggle source
# File lib/kokkai/error.rb, line 30 def extract_message_from_error(body) message = body.dig("details").nil? ? body.dig("message") : body.dig("details") message = message.first if message.is_a?(Array) match = message.match(/\([0-9]{5}\)/) [match.post_match, match[0].gsub(/\(|\)/, '').to_i] end
parse_error(body)
click to toggle source
# File lib/kokkai/error.rb, line 22 def parse_error(body) if body.nil? || body.empty? ['', nil] elsif body.dig("data", "diagnostics") extract_message_from_error(body.dig(*ATTRIBUTES)) end end