class Convertator::Providers::CbrProvider

Constants

SERVICE_URI

Public Instance Methods

call() click to toggle source
# File lib/convertator/providers/cbr_provider.rb, line 9
def call
  default_rates.merge parse(fetch)
end

Private Instance Methods

default_rates() click to toggle source
# File lib/convertator/providers/cbr_provider.rb, line 15
def default_rates
  {
    RUB: '1'
  }
end
fetch() click to toggle source
# File lib/convertator/providers/cbr_provider.rb, line 32
def fetch
  uri = URI(SERVICE_URI)
  ::Net::HTTP.get(uri)
end
parse(data) click to toggle source
# File lib/convertator/providers/cbr_provider.rb, line 21
def parse(data)
  doc = REXML::Document.new(data)
  rates = {}
  doc.elements.each('ValCurs/Valute') do |valute|
    code = REXML::XPath.first(valute, 'CharCode/text()').to_s
    val = REXML::XPath.first(valute, 'Value/text()').to_s
    rates[code.upcase.to_sym] = val
  end
  rates
end