mirror of
https://github.com/hakanensari/frankfurter.git
synced 2024-11-22 11:02:30 +01:00
31 lines
522 B
Ruby
31 lines
522 B
Ruby
|
# frozen_string_literal: true
|
||
|
|
||
|
require 'currency'
|
||
|
require 'money/currency'
|
||
|
|
||
|
class CurrencyNames
|
||
|
def cache_key
|
||
|
Digest::MD5.hexdigest(currencies.first.date.to_s)
|
||
|
end
|
||
|
|
||
|
def formatted
|
||
|
iso_codes.each_with_object({}) do |iso_code, result|
|
||
|
result[iso_code] = Money::Currency.find(iso_code).name
|
||
|
end
|
||
|
end
|
||
|
|
||
|
private
|
||
|
|
||
|
def iso_codes
|
||
|
currencies.map(&:iso_code).append('EUR').sort
|
||
|
end
|
||
|
|
||
|
def currencies
|
||
|
@currencies ||= find_currencies
|
||
|
end
|
||
|
|
||
|
def find_currencies
|
||
|
Currency.latest.all
|
||
|
end
|
||
|
end
|