class GameReviews::Scraper
Attributes
score[RW]
url[RW]
Public Class Methods
games()
click to toggle source
# File lib/game_reviews/scraper.rb, line 12 def self.games @@games end
new(url, score)
click to toggle source
# File lib/game_reviews/scraper.rb, line 5 def initialize(url, score) @url = url @score = score end
Public Instance Methods
clear()
click to toggle source
# File lib/game_reviews/scraper.rb, line 16 def clear @@games.clear end
display()
click to toggle source
# File lib/game_reviews/scraper.rb, line 36 def display @@games.delete_if{|game| game.metascore.to_i < @score.to_i}.each_with_index do |game, i| puts " \n#{i+1}. #{game.title} \n Metascore: #{game.metascore} Release Date: #{game.release_date} Link: #{game.link}\n \n" end end
scraper()
click to toggle source
# File lib/game_reviews/scraper.rb, line 21 def scraper game_list = Nokogiri::HTML(open(self.url, 'User-Agent' => 'Chrome')) game_list.css("ol.list_products li.game_product").each do |game| @@games << GameReviews::Reviews.new({ :title => game.css("div.product_title a").text.strip, :metascore => game.css("div.metascore_w").text, :release_date => game.css("li.release_date span.data").text, :link => 'http://www.metacritic.com/' + game.css("div.product_title a").attribute("href").text }) end end