Class: PebbleTimeline::API

Inherits:
Object
  • Object
show all
Defined in:
lib/pebble_timeline/api.rb

Instance Method Summary collapse

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

#connectionObject



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