Module: OpenStates::Connection

Included in:
OpenStates
Defined in:
lib/openstates/connection.rb

Constant Summary collapse

BASE_URL =
'http://openstates.org/api/v1/'

Instance Method Summary collapse

Instance Method Details

#connectionObject



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/openstates/connection.rb', line 4

def connection
  @connection ||= begin
    conn = Faraday.new(BASE_URL) do |b|
      b.use Faraday::Response::Logger, logger
      b.use FaradayMiddleware::Mashify
      b.use FaradayMiddleware::ParseJson, content_type: 'application/json'
      b.use FaradayMiddleware::Caching, cache, strip_params: %w[apikey] unless cache.nil?
      b.response :raise_error
      b.adapter Faraday.default_adapter
    end

    conn.params['apikey'] = api_key unless api_key.nil?

    conn
  end
end

#get(path, params = nil) ⇒ Object



21
22
23
24
25
26
27
# File 'lib/openstates/connection.rb', line 21

def get(path, params = nil)
  response = connection.get(path) do |request|
    request.params.merge!(params) if params
  end

  response.body
end