class Postnord::Client

Public Class Methods

new(options={}) click to toggle source
# File lib/postnord/client.rb, line 4
def initialize(options={})
  @api_version  = options[:api_version]  || Config.api_version
  @api_key      = options[:api_key]      || Config.api_key
  @api_endpoint = options[:api_endpoint] || Config.api_endpoint
  @locale       = options[:locale]       || Config.locale
  @return_type  = options[:return_type]  || Config.return_type
end

Public Instance Methods

do_request(service, endpoint, params={}) click to toggle source
# File lib/postnord/client.rb, line 12
def do_request(service, endpoint, params={})
  uri = build_uri(service, endpoint)

  params.merge!(
    apikey: @api_key,
    locale: @locale,
  )

  uri.query = URI.encode_www_form(params)

  res = Faraday.get(uri)

  Response.new(res)
end

Private Instance Methods

build_uri(service, endpoint) click to toggle source
# File lib/postnord/client.rb, line 29
def build_uri(service, endpoint)
  URI(
    @api_endpoint +
    '/' + service +
    '/' + @api_version +
    '/' + endpoint +
    '.' + @return_type
  )
end