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