lib/lunanode/api_error.rb in lunanode-0.1.6 vs lib/lunanode/api_error.rb in lunanode-0.2.0

- old
+ new

@@ -1,5 +1,16 @@ +# frozen_string_literal: true +require "cgi" +require "json" + module Lunanode # A RuntimeError raised when the API call returns unsuccessfully. class APIError < RuntimeError + def to_s + unescaped = CGI.unescapeHTML(super) + return unescaped unless unescaped.start_with?("\"{") + JSON.pretty_generate(JSON.parse(unescaped.gsub(/\A"|"\z/, ""))) + rescue JSON::ParserError + unescaped + end end end