class Wsapi::Mapper
Public Class Methods
get_errors(json)
click to toggle source
# File lib/wsapi/mapper.rb, line 10 def self.get_errors(json) if result = json["QueryResult"] result["Errors"] elsif result = json["OperationResult"] result["Errors"] else [] end end
get_object(response)
click to toggle source
# File lib/wsapi/mapper.rb, line 20 def self.get_object(response) json = MultiJson.load(response.body) if get_errors(json).empty? && json.size == 1 Wsapi::Object.from_data(json.keys.first, json.values.first) else raise ApiError.new("Errors: #{get_errors(json).inspect}", response) end rescue MultiJson::LoadError raise ApiError.new("Invalid JSON response from WSAPI: #{response.body}", response) end
get_objects(response)
click to toggle source
# File lib/wsapi/mapper.rb, line 31 def self.get_objects(response) json = MultiJson.load(response.body) if get_errors(json).empty? && query_result = json["QueryResult"] query_result["Results"].map { |object| Wsapi::Object.from_data(object["_type"], object) } else raise ApiError.new("Errors: #{get_errors(json).inspect}", response) end rescue MultiJson::LoadError raise ApiError.new("Invalid JSON response from WSAPI: #{response.body}", response) end