是否可以使用 Ruby on Rails 中的 Concurrency Gem 获取历史汇率?目前的文档仅描述转换为:Concurrency Gem,但它也使用来自Currency Converter API的数据,该 API 具有可用的历史数据。
当前请求当前汇率的方式:
Concurrency.conversion_rate("NZD", "INR")
是否可以使用 Ruby on Rails 中的 Concurrency Gem 获取历史汇率?目前的文档仅描述转换为:Concurrency Gem,但它也使用来自Currency Converter API的数据,该 API 具有可用的历史数据。
当前请求当前汇率的方式:
Concurrency.conversion_rate("NZD", "INR")
不,并发 Gem 不实现 API 历史数据。它只设置q
而不是date
/endDate
如Currency Converter API中所述。
url = "https://free.currencyconverterapi.com/api/v6/convert?q=#{from}_#{to}&compact=ultra&apiKey=#{Concurrency.configuration.api_key}"
您可以改用货币历史银行。在这里您可以使用时间戳:
require 'money/bank/historical_bank'
mh = Money::Bank::HistoricalBank.new
# Exchanges 1000 EUR to USD using Date.today (default if no date has been entered).
# Will download today's rates if none have been entered
mh.exchange_with(1000.to_money('EUR'), 'USD')
# Exchanges 1000 EUR to USD using historical rates
date = Date.new(2009,9,9)
mh.set_rate(date, 'USD', 'EUR', 0.7634)
mh.exchange_with(date, 1000.to_money('USD'), 'EUR') # => 763.4 EUR
Money.default_bank = mh