Sha256: 8e492e36380d3c8bb603a41c2090444e48805663e314f2093c35563f6f20542e

Contents?: true

Size: 742 Bytes

Versions: 3

Compression:

Stored size: 742 Bytes

Contents

require 'faraday'

module Nominatim
  class Client

    # Performs an HTTP GET request
    def get(path, params = {})
      connection.get path, params
    end

    private

    # Returns a Faraday::Connection object
    #
    # @return [Faraday::Connection]
    def connection
      return @connection if defined? @connection

      @connection = Faraday.new Nominatim.config.endpoint do |builder|
        builder.use Nominatim::Response::ParseJson
        builder.adapter Faraday.default_adapter
      end

      @connection.params[:format] = 'json'
      @connection.params[:email] = Nominatim.config.email if Nominatim.config.email

      @connection.headers[:user_agent] = Nominatim.config.user_agent

      @connection
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
nominatim-0.0.3 lib/nominatim/client.rb
nominatim-0.0.2 lib/nominatim/client.rb
nominatim-0.0.1 lib/nominatim/client.rb