0

是否可以使用 Ruby on Rails 中的 Concurrency Gem 获取历史汇率?目前的文档仅描述转换为:Concurrency Gem,但它也使用来自Currency Converter API的数据,该 API 具有可用的历史数据。

当前请求当前汇率的方式:

Concurrency.conversion_rate("NZD", "INR")
4

1 回答 1

-1

不,并发 Gem 不实现 API 历史数据。它只设置q而不是date/endDateCurrency Converter API中所述。

concurrency.rb

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
于 2021-09-28T18:23:19.987 回答