class UruguayanExchangeRates::Util

Attributes

currency_raw[RW]

Public Class Methods

new(options = {}) { |self| ... } click to toggle source
# File lib/uruguayan_exchange_rates/util.rb, line 8
def initialize(options = {})
  unless block_given?
    options.each do |key, value|
      send(:"#{key}=", value)
    end
  else
    yield(self)
  end
end

Public Instance Methods

extract_values(currency_data) click to toggle source
# File lib/uruguayan_exchange_rates/util.rb, line 28
def extract_values(currency_data)
  # Remove unnecessary spaces
  values = currency_data.text.strip
  # Remove name
  values.gsub!(currency_raw, '')
  # Remove spaces
  values.gsub!(/(?:\n\r?|\r\n?)/, ' ').strip!
  buy, sell = values.split(/\s+/).map{ |v| v.to_f }
  { buy: buy, sell: sell }
end
find_currency(data) click to toggle source
# File lib/uruguayan_exchange_rates/util.rb, line 24
def find_currency(data)
  values = data.css('#exchangeRatesLarge').at('tr:contains("' + currency_raw + '")')
end
request_data() click to toggle source
# File lib/uruguayan_exchange_rates/util.rb, line 18
def request_data
  uri = URI.parse(SERVICE_HOST + SERVICE_PATH)
  result = Net::HTTP.get(uri)
  data = Nokogiri::HTML(result)
end