ruby-on-rails - 并发宝石历史汇率
问题描述
是否可以使用 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
推荐阅读
- c - AFL“(奇怪,检查语法!)”
- android - React-native run-android 无法正常工作,因为它找不到任何模拟器 macOS
- sequelize.js - Sequelize 返回结果与 console.log(result) 不同
- excel - 在逗号分隔的列表中查找缺失的数字
- reporting-services - 如何在 Windows Server 2016 上安装 Microsoft.ReportViewer 12.0.0.0?
- python - Tkinter 使用 StringVar()、trace() 和 Entry() 的问题
- c# - 将 swagger 集成到 ASP.NET 核心 api 项目中
- python - 如何在 django 中添加对管理员侧操作的检查?
- java - 我添加的图标第二天就消失了
- mongodb - 使用 MongoDB (Java) 进行 LocalTime 范围查询