Class: ResoWebApi::Client
- Inherits:
-
BaseClient
- Object
- BaseClient
- ResoWebApi::Client
- Includes:
- Resources
- Defined in:
- lib/reso_web_api/client.rb
Overview
Main class to run requests against a RESO Web API server.
Constant Summary
Constants included from Resources
Constants inherited from BaseClient
Instance Method Summary collapse
-
#connection(&block) ⇒ Faraday::Connection
Return the Faraday::Connection object for this client.
-
#headers ⇒ Hash
Headers to be send along with requests.
-
#initialize(options = {}) ⇒ Client
constructor
A new instance of Client.
-
#service ⇒ OData4::Service
Returns a proxied OData4::Service that attempts to ensure a properly authenticated and authorized connection.
Methods included from Resources
Constructor Details
#initialize(options = {}) ⇒ Client
12 13 14 15 |
# File 'lib/reso_web_api/client.rb', line 12 def initialize( = {}) super() ensure_valid_auth_strategy! end |
Instance Method Details
#connection(&block) ⇒ Faraday::Connection
Return the Faraday::Connection object for this client. Yields the connection object being constructed (for customzing middleware).
26 27 28 29 30 31 |
# File 'lib/reso_web_api/client.rb', line 26 def connection(&block) super do |conn| conn.use Authentication::Middleware, @auth yield conn if block_given? end end |
#headers ⇒ Hash
Headers to be send along with requests
19 20 21 |
# File 'lib/reso_web_api/client.rb', line 19 def headers super.merge({ accept: 'application/json' }) end |
#service ⇒ OData4::Service
Returns a proxied OData4::Service that attempts to ensure a properly authenticated and authorized connection
36 37 38 |
# File 'lib/reso_web_api/client.rb', line 36 def service @service ||= OData4::Service.new(connection) end |