class ForexRates::Api

Public Class Methods

new(url="https://api.exchangeratesapi.io") click to toggle source
Calls superclass method
# File lib/forex_rates/api.rb, line 5
def initialize(url="https://api.exchangeratesapi.io")
    super(url)
end

Public Instance Methods

get_for_a_day(date, params) click to toggle source
# File lib/forex_rates/api.rb, line 19
def get_for_a_day(date, params)
    self.get "/#{date}#{build_query_params(params[0])}"
end
get_history(start_date, end_date, params) click to toggle source
# File lib/forex_rates/api.rb, line 13
def get_history(start_date, end_date, params)
    params_hash = params[0] || {}
    params_hash.merge!({start_at: start_date, end_at: end_date})
    self.get "/history#{build_query_params(params_hash)}"
end
get_latest(params) click to toggle source
# File lib/forex_rates/api.rb, line 9
def get_latest(params)
    self.get "/latest#{build_query_params(params[0])}"
end

Private Instance Methods

build_query_params(params) click to toggle source
# File lib/forex_rates/api.rb, line 25
def build_query_params(params)
    return nil unless params && params.size > 0
    query_params = "?"
    params.each_with_index do |(key, val), index|
        index == 0 ? query_params << "#{key}=#{val}" : query_params << "&#{key}=#{val}"
    end
    query_params
end