module QTest::REST::Utils
Public Instance Methods
decode_response_body(body, symbolize_keys = true)
click to toggle source
Decode a String (Response body, typically) from JSON.
By default, keys in the Hash will be converted to symbols.
@param body [String] String to decode @param symbolize_keys [Boolean] convert keys to Symbols
# File lib/qtest/rest/utils.rb, line 52 def decode_response_body(body, symbolize_keys = true) JSON.parse(body, symbolize_names: symbolize_keys) end
delete(query, _opts = {})
click to toggle source
# File lib/qtest/rest/utils.rb, line 16 def delete(query, _opts = {}) handle_response(self.class.delete(query[:path], query), raw: true) end
get(query, opts = {})
click to toggle source
# File lib/qtest/rest/utils.rb, line 8 def get(query, opts = {}) handle_response(self.class.get(query[:path], query), opts) end
handle_response(response, opts = {})
click to toggle source
Handle a Response based on its status code.
By default, the Response body is assumed to be parsed from JSON.
## Options
* :raw - Return the Response body without decoding.
@param response [Net::HTTP::Response] response to handle @param opts [Hash] Hash of options
# File lib/qtest/rest/utils.rb, line 31 def handle_response(response, opts = {}) case response.code when 200..207 if opts[:raw] response.body else decode_response_body(response.body) end when 401 raise QTest::AuthorizationError, response.body else raise QTest::Error, response.body end end
post(query, opts = {})
click to toggle source
# File lib/qtest/rest/utils.rb, line 4 def post(query, opts = {}) handle_response(self.class.post(query[:path], query), opts) end
put(query, opts = {})
click to toggle source
# File lib/qtest/rest/utils.rb, line 12 def put(query, opts = {}) handle_response(self.class.put(query[:path], query), opts) end