class Desuraify::Game
Constants
- ATTRIBUTES
Public Class Methods
new(id, options={})
click to toggle source
Calls superclass method
Desuraify::Base::new
# File lib/desuraify/game.rb, line 14 def initialize(id, options={}) super(id, options) end
Public Instance Methods
attributes()
click to toggle source
# File lib/desuraify/game.rb, line 40 def attributes ATTRIBUTES end
parse(html)
click to toggle source
# File lib/desuraify/game.rb, line 18 def parse(html) doc = Nokogiri::HTML(html) result = parse_headers(doc.css('h5')) result.merge!(parse_similar(doc, result[:image_count], result[:video_count])) # acquire prices prices = doc.css('.price').children.select{ |price| price unless price.text.strip.empty? }.map{ |price| price.text.strip } rescue nil result[:price] = prices.min unless prices.empty? rescue nil result[:original_price] = prices.max unless prices.empty? rescue nil result[:publishers] = result[:developers].map{ |dev| dev.dup } unless result[:publishers] if result[:developers] result[:html] = html result end
to_s()
click to toggle source
# File lib/desuraify/game.rb, line 44 def to_s "#{@title} for #{@platforms.join(', ')}" rescue "#{self.class}::#{self.object_id}" end
url()
click to toggle source
# File lib/desuraify/game.rb, line 36 def url "http://www.desura.com/games/#{@id}" end
Private Instance Methods
image_rss()
click to toggle source
# File lib/desuraify/game.rb, line 50 def image_rss "http://rss.desura.com/games/#{@id}/images/feed/rss.xml" end
video_rss()
click to toggle source
# File lib/desuraify/game.rb, line 54 def video_rss "http://rss.desura.com/games/#{@id}/videos/feed/rss.xml" end