class Zaikio::Directory::JSONParser
Public Instance Methods
connection_error(env)
click to toggle source
# File lib/zaikio/directory/json_parser.rb, line 14 def connection_error(env) Zaikio::Directory.configuration.logger .error("Zaikio::Directory Status Code #{env.status}, #{env.body}") raise Spyke::ConnectionError, "Status Code #{env.status}, #{env.body}" end
on_complete(env)
click to toggle source
# File lib/zaikio/directory/json_parser.rb, line 6 def on_complete(env) connection_error(env) unless /^(2\d\d)|422|404$/.match?(env.status.to_s) raise Spyke::ResourceNotFound if env.status.to_s == "404" env.body = parse_body(env.body) end
parse_body(body)
click to toggle source
# File lib/zaikio/directory/json_parser.rb, line 20 def parse_body(body) json = MultiJson.load(body, symbolize_keys: true) { data: json, metadata: {}, errors: json.is_a?(Hash) ? json[:errors] : {} } rescue MultiJson::ParseError { data: {}, metadata: {}, errors: {} } end