Module: Procore::Requestable
- Included in:
- Client
- Defined in:
- lib/procore/requestable.rb
Overview
Module which defines HTTP verbs GET, POST, PUT, PATCH and DELETE. Is included in Client. Has support for Idempotency Tokens on POST and PATCH.
Instance Method Summary collapse
- #delete(path, query: {}, options: {}) ⇒ Response
- #get(path, query: {}, options: {}) ⇒ Response
- #patch(path, body: {}, options: {}) ⇒ Response
- #post(path, body: {}, options: {}) ⇒ Response
- #put(path, body: {}, options: {}) ⇒ Response
Instance Method Details
#delete(path, query: {}, options: {}) ⇒ Response
139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 |
# File 'lib/procore/requestable.rb', line 139 def delete(path, query: {}, options: {}) Util.log_info( "API Request Initiated", path: "#{base_api_path}/#{path}", method: "DELETE", headers: headers(), query: query.to_s, ) with_response_handling do RestClient::Request.execute( method: :delete, url: "#{base_api_path}/#{path}", headers: headers.merge(params: query), timeout: Procore.configuration.timeout, ) end end |
#get(path, query: {}, options: {}) ⇒ Response
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/procore/requestable.rb', line 21 def get(path, query: {}, options: {}) Util.log_info( "API Request Initiated", path: "#{base_api_path}/#{path}", method: "GET", query: query.to_s, ) with_response_handling do RestClient::Request.execute( method: :get, url: "#{base_api_path}/#{path}", headers: headers().merge(params: query), timeout: Procore.configuration.timeout, ) end end |
#patch(path, body: {}, options: {}) ⇒ Response
112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 |
# File 'lib/procore/requestable.rb', line 112 def patch(path, body: {}, options: {}) Util.log_info( "API Request Initiated", path: "#{base_api_path}/#{path}", method: "PATCH", body: body.to_s, ) with_response_handling(request_body: body) do RestClient::Request.execute( method: :patch, url: "#{base_api_path}/#{path}", payload: payload(body), headers: headers(), timeout: Procore.configuration.timeout, ) end end |
#post(path, body: {}, options: {}) ⇒ Response
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/procore/requestable.rb', line 52 def post(path, body: {}, options: {}) Util.log_info( "API Request Initiated", path: "#{base_api_path}/#{path}", method: "POST", body: body.to_s, ) with_response_handling(request_body: body) do RestClient::Request.execute( method: :post, url: "#{base_api_path}/#{path}", payload: payload(body), headers: headers(), timeout: Procore.configuration.timeout, ) end end |
#put(path, body: {}, options: {}) ⇒ Response
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 |
# File 'lib/procore/requestable.rb', line 80 def put(path, body: {}, options: {}) Util.log_info( "API Request Initiated", path: "#{base_api_path}/#{path}", method: "PUT", body: body.to_s, ) with_response_handling(request_body: body) do RestClient::Request.execute( method: :put, url: "#{base_api_path}/#{path}", payload: payload(body), headers: headers(), timeout: Procore.configuration.timeout, ) end end |