# 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