Class: Radar::API::Client
- Inherits:
-
Object
- Object
- Radar::API::Client
- Defined in:
- lib/radar/api/client.rb
Constant Summary collapse
- VERB_MAP =
{ get: Net::HTTP::Get, post: Net::HTTP::Post, put: Net::HTTP::Put, patch: Net::HTTP::Patch, delete: Net::HTTP::Delete }.freeze
Instance Attribute Summary collapse
-
#http ⇒ Object
readonly
Returns the value of attribute http.
Instance Method Summary collapse
- #delete(path) ⇒ Object
- #get(path, params: {}) ⇒ Object
-
#initialize ⇒ Client
constructor
A new instance of Client.
- #parsed_response(response, object_class:) ⇒ Object
- #patch(path, params: {}) ⇒ Object
- #post(path, params: {}) ⇒ Object
- #put(path, params: {}) ⇒ Object
Constructor Details
Instance Attribute Details
#http ⇒ Object (readonly)
Returns the value of attribute http.
22 23 24 |
# File 'lib/radar/api/client.rb', line 22 def http @http end |
Instance Method Details
#delete(path) ⇒ Object
40 41 42 |
# File 'lib/radar/api/client.rb', line 40 def delete(path) request :delete, path end |
#get(path, params: {}) ⇒ Object
24 25 26 |
# File 'lib/radar/api/client.rb', line 24 def get(path, params: {}) request :get, path, params end |
#parsed_response(response, object_class:) ⇒ Object
44 45 46 47 48 49 50 51 52 |
# File 'lib/radar/api/client.rb', line 44 def parsed_response(response, object_class:) response_hash = JSON.parse(response.body) response_resource = response_hash[object_class::RESOURCE_NAME[:plural]] if collection?(response_resource) response_resource.map { |json_item| object_class.new(json_item) } else object_class.new(response_hash[object_class::RESOURCE_NAME[:singular]]) end end |
#patch(path, params: {}) ⇒ Object
36 37 38 |
# File 'lib/radar/api/client.rb', line 36 def patch(path, params: {}) request :patch, path, params end |
#post(path, params: {}) ⇒ Object
28 29 30 |
# File 'lib/radar/api/client.rb', line 28 def post(path, params: {}) request :post, path, params end |
#put(path, params: {}) ⇒ Object
32 33 34 |
# File 'lib/radar/api/client.rb', line 32 def put(path, params: {}) request :put, path, params end |