Sha256: aa6277a9cf8bfb298065f380f50dbf20aa3122eb239be8ff8350f7dd4462bc6e

Contents?: true

Size: 634 Bytes

Versions: 1

Compression:

Stored size: 634 Bytes

Contents

require 'faraday_middleware'

module Congress
  module Connection
    ENDPOINT = 'https://congress.api.sunlightfoundation.com'.freeze

  private

    def connection
      @connection ||= create_connection
    end

    def create_connection
      Faraday.new(url: ENDPOINT) do |connection|
        middlewares.each { |middleware| connection.use(middleware) }
        connection.adapter(Faraday.default_adapter)
      end
    end

    def middlewares
      [
        Faraday::Request::UrlEncoded,
        Faraday::Response::RaiseError,
        Faraday::Response::Mashify,
        Faraday::Response::ParseJson,
      ]
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
congress-0.3.0 lib/congress/connection.rb