module OpenStates::Connection

Constants

BASE_URL

Public Instance Methods

connection() click to toggle source

rubocop:disable Metrics/LineLength, Metrics/AbcSize, Metrics/MethodLength

# File lib/openstates/connection.rb, line 6
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) click to toggle source

rubocop:enable Metrics/LineLength, Metrics/AbcSize, Metrics/MethodLength

# File lib/openstates/connection.rb, line 24
def get(path, params = nil)
  response = connection.get(path) do |request|
    request.params.merge!(params) if params
  end

  response.body
end