class BestNomadCities::Scraper

Public Instance Methods

city_attributes(city) click to toggle source
# File lib/best_nomad_cities/scraper.rb, line 17
def city_attributes(city)
  attrs = {
    name: city.css("h2").text,
    country: city.css("h3").text,
    rank: city.css(".rank").text,
    cost: city.css(".bottom-right").text,
    internet_speed: city.css(".top-right").text,
    weather: "#{city.css(".metric").text} / #{city.css(".imperial").text}",
    link: city.css('a').attribute('href').value,
    tg_link: "#{city.css('a').attribute('href').value}/travel-guide"
  }
  BestNomadCities::City.new(attrs)
end
get_cities() click to toggle source
# File lib/best_nomad_cities/scraper.rb, line 7
def get_cities
  self.get_home_page.css("div[data-i]")
end
get_home_page() click to toggle source
# File lib/best_nomad_cities/scraper.rb, line 3
def get_home_page
  Nokogiri::HTML(open('fixtures/html/nomadlist.html'))
end
make_cities() click to toggle source
# File lib/best_nomad_cities/scraper.rb, line 11
def make_cities
  self.get_cities.each do |city|
    city_attributes(city)
  end
end