class FuelPricesEurope::FuelPrices
Public Class Methods
new()
click to toggle source
# File lib/fuel_prices_europe/fuel_prices.rb, line 5 def initialize load_data end
Public Instance Methods
find_by_countries(countries, type = :alpha2)
click to toggle source
Find data from multiple countries. Pass in an array of countries. By default you must use alpha2 codes, but you can specify :alpha3 or :name as an extra argument. A hash with CountryData
objects will be returned with the input countries as a key.
# File lib/fuel_prices_europe/fuel_prices.rb, line 12 def find_by_countries(countries, type = :alpha2) result = {} countries.each do |country| if type == :alpha2 country_data = find_by_country_alpha2(country) elsif type == :alpha3 country_data = find_by_country_alpha3(country) else country_data = find_by_country_name(country) end result[country] = country_data unless country_data.nil? end result end
find_by_country_alpha2(alpha2)
click to toggle source
# File lib/fuel_prices_europe/fuel_prices.rb, line 27 def find_by_country_alpha2(alpha2) @country_data[alpha2.upcase] || nil end
Also aliased as: find_by_country_code
find_by_country_alpha3(alpha3)
click to toggle source
# File lib/fuel_prices_europe/fuel_prices.rb, line 41 def find_by_country_alpha3(alpha3) load_data alpha2 = Country.find_country_by_alpha3(alpha3).alpha2 @country_data[alpha2] || nil end
find_by_country_name(country_name)
click to toggle source
# File lib/fuel_prices_europe/fuel_prices.rb, line 34 def find_by_country_name(country_name) load_data alpha2 = Country.find_country_by_name(country_name).alpha2 @country_data[alpha2] || nil end
Private Instance Methods
load_data()
click to toggle source
# File lib/fuel_prices_europe/fuel_prices.rb, line 49 def load_data @country_data = Scraper.scrape end