Sha256: eeeadcaaf93c50434478f03e1af7bd2f20c338e77386bcd154e2795763ce05ab
Contents?: true
Size: 1.18 KB
Versions: 1
Compression:
Stored size: 1.18 KB
Contents
module StreamElements class Resource attr_reader :client def initialize(client) @client = client end private def get_request(url, params: {}, headers: {}) handle_response client.connection.get(url, params, headers) end def post_request(url, body: {}, headers: {}) handle_response client.connection.post(url, body, headers) end def put_request(url, body: {}, headers: {}) handle_response client.connection.put(url, body, headers) end def patch_request(url, body:, headers: {}) handle_response client.connection.patch(url, body, headers) end def delete_request(url, headers: {}) handle_response client.connection.delete(url, headers) end def handle_response(response) return true if response.status == 204 return response unless error?(response) raise_error(response) end def error?(response) [ 400, 401, 403, 404, 409, 429, 500, 501, 503 ].include?(response.status) #|| response.body&.key?("error") end def raise_error(response) error = StreamElements::ErrorFactory.create(response.body, response.status) raise error if error end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
streamelements-0.5.0 | lib/stream_elements/resource.rb |