Class: HonestRenter::Request
- Inherits:
-
Object
- Object
- HonestRenter::Request
- Defined in:
- lib/request.rb
Defined Under Namespace
Classes: ExpiredSession
Constant Summary collapse
- BASE_URL =
'https://honestrenter.com/api/'.freeze
Instance Attribute Summary collapse
-
#client ⇒ Object
readonly
Returns the value of attribute client.
-
#session ⇒ Object
readonly
Returns the value of attribute session.
Instance Method Summary collapse
- #get(url, query_params = {}) ⇒ Object
- #headers ⇒ Object
-
#initialize(client, session = nil) ⇒ Request
constructor
A new instance of Request.
- #post(url, body, query_params = {}) ⇒ Object
Constructor Details
#initialize(client, session = nil) ⇒ Request
Returns a new instance of Request.
9 10 11 12 13 14 15 16 |
# File 'lib/request.rb', line 9 def initialize(client, session = nil) @client = client @session = session if !@session.nil? && session.expired? raise ExpiredSession, "session expired at: #{ session.expires_at }, please re-authenticate." end end |
Instance Attribute Details
#client ⇒ Object (readonly)
Returns the value of attribute client.
5 6 7 |
# File 'lib/request.rb', line 5 def client @client end |
#session ⇒ Object (readonly)
Returns the value of attribute session.
5 6 7 |
# File 'lib/request.rb', line 5 def session @session end |
Instance Method Details
#get(url, query_params = {}) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/request.rb', line 29 def get(url, query_params = {}) raw_response = client.connection.get("#{BASE_URL}#{url}") do |request| request.headers = headers request.params['apiKey'] = api_key query_params.each_pair do |key, value| request.params[key] = value end end respond(raw_response) end |
#headers ⇒ Object
18 19 20 21 22 23 24 25 26 27 |
# File 'lib/request.rb', line 18 def headers { 'Accept' => 'Application/vnd.honestrenter.v1+json' }.tap do |_headers| unless @session.nil? _headers['HONR-Session'] = JSON(@session.honr_session) _headers['HONR-Authentication-Token'] = @session.honr_authentication_token end end end |
#post(url, body, query_params = {}) ⇒ Object
41 42 43 44 45 46 47 48 49 |
# File 'lib/request.rb', line 41 def post(url, body, query_params = {}) _body = post_body(body.merge(apiKey: api_key)) raw_response = client.connection.post("#{BASE_URL}#{url}", _body) do |request| request.headers = headers end respond(raw_response) end |