Class: PeopleDoc::V1::Client
- Inherits:
-
Object
- Object
- PeopleDoc::V1::Client
- Defined in:
- lib/people_doc.rb
Overview
PeopleDoc REST API v1 Client
Instance Method Summary collapse
-
#get(resource) ⇒ Hash
Get a resource Makes a request for a resource from PeopleDoc and returns the response as a raw Hash.
-
#initialize(options = {}) ⇒ Client
constructor
A new instance of Client.
-
#post(resource, payload) ⇒ Hash
POST a resource Makes a request to post new or existing resource details to PeopleDoc.
-
#post_file(resource, file, payload) ⇒ Hash
POST a file …
Constructor Details
#initialize(options = {}) ⇒ Client
Returns a new instance of Client.
67 68 69 70 71 72 73 74 |
# File 'lib/people_doc.rb', line 67 def initialize( = {}) = .merge() @api_key = .fetch(:api_key) @base_url = .fetch(:base_url) @logger = .fetch(:logger, Logger.new(STDOUT)) @request = HTTPartyRequest.new(@base_url, @logger, response_handlers) end |
Instance Method Details
#get(resource) ⇒ Hash
Get a resource Makes a request for a resource from PeopleDoc and returns the response as a raw Hash.
83 84 85 86 87 88 |
# File 'lib/people_doc.rb', line 83 def get(resource) @request .get(base_headers, "api/v1/#{resource}") rescue NotFound nil end |
#post(resource, payload) ⇒ Hash
POST a resource Makes a request to post new or existing resource details to PeopleDoc.
97 98 99 100 101 102 103 |
# File 'lib/people_doc.rb', line 97 def post(resource, payload) @request.post( base_headers, "api/v1/#{resource}/", payload.to_json ) end |
#post_file(resource, file, payload) ⇒ Hash
POST a file …
113 114 115 116 117 118 119 120 121 122 |
# File 'lib/people_doc.rb', line 113 def post_file(resource, file, payload) @request.post_file( base_headers.merge( 'Accept' => 'multipart/form-data' ), "api/v1/#{resource}/", file: file, data: payload ? payload.to_json : nil ) end |