class FuelPricesEurope::Scraper

Public Class Methods

scrape() click to toggle source
# File lib/fuel_prices_europe/scraper.rb, line 8
def self.scrape

  if FuelPricesEurope.configuration.cache.nil?
    make_request!
    parse
  else
    FuelPricesEurope.configuration.cache.fetch(FuelPricesEurope.configuration.cache_key.to_s,
                                                         expires_in: FuelPricesEurope.configuration.cache_expires_in) do
      make_request!
      parse
    end
  end
end

Private Class Methods

make_request!() click to toggle source
# File lib/fuel_prices_europe/scraper.rb, line 30
def self.make_request!
  response = open(URL)
  @html = Nokogiri::HTML(response)
end
parse() click to toggle source
# File lib/fuel_prices_europe/scraper.rb, line 24
def self.parse
  element = 'table:nth-child(18)'
  table_parser = TableParser.new(@html.at_css(element))
  table_parser.parse
end