Class: PebbleTimeline::API
- Inherits:
-
Object
- Object
- PebbleTimeline::API
- Defined in:
- lib/pebble_timeline/api.rb
Instance Method Summary collapse
- #call(url, http_method, params = {}) ⇒ Object
- #connection ⇒ Object
-
#initialize(api_key = nil) ⇒ API
constructor
A new instance of API.
Constructor Details
#initialize(api_key = nil) ⇒ API
Returns a new instance of API.
3 4 5 6 7 8 |
# File 'lib/pebble_timeline/api.rb', line 3 def initialize(api_key = nil) raise ConfigMissingAPIKeyError, 'You must provide an API Key' unless PebbleTimeline.config.api_key || api_key @api_key = PebbleTimeline.config.api_key || api_key @base_url = PebbleTimeline.config.base_url end |
Instance Method Details
#call(url, http_method, params = {}) ⇒ Object
10 11 12 13 |
# File 'lib/pebble_timeline/api.rb', line 10 def call(url, http_method, params={}) response = send(http_method, url, params) response.body end |
#connection ⇒ Object
15 16 17 18 19 20 21 22 |
# File 'lib/pebble_timeline/api.rb', line 15 def connection @connection ||= Faraday.new(url: @api_url) do |faraday| faraday.headers['Content-Type'] = 'application/json' faraday.headers['X-API-Key'] = @api_key faraday.adapter Faraday.default_adapter faraday.use PebbleTimeline::Middleware::ErrorDetector end end |