Class: Desuraify::Engine

Inherits:
Base
  • Object
show all
Defined in:
lib/desuraify/engine.rb

Constant Summary collapse

ATTRIBUTES =
[
  :developers, :games, :games_count, :html, :images, :images_count, :license, :news, 
  :news_count, :official_page, :page_title, :platforms, :publishers, :rank, 
  :rating, :release_date, :reviews, :summary, :title, :updated, :videos, 
  :videos_count, :visits, :watchers
]

Instance Attribute Summary

Attributes inherited from Base

#callback, #error, #hydra, #id

Instance Method Summary collapse

Methods inherited from Base

#enqueue_update, #parse_headers, #parse_similar, #rss_update, #to_s, #update

Constructor Details

#initialize(id, options = {}) ⇒ Engine

Returns a new instance of Engine.



12
13
14
# File 'lib/desuraify/engine.rb', line 12

def initialize(id, options={})
  super(id, options)
end

Instance Method Details

#attributesObject



34
35
36
# File 'lib/desuraify/engine.rb', line 34

def attributes
  ATTRIBUTES
end

#parse(html) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/desuraify/engine.rb', line 16

def parse(html)

  doc = Nokogiri::HTML(html)

  result = parse_headers(doc.css('h5'))
  result.merge!(parse_similar(doc, result[:image_count], result[:video_count]))
  result[:html] = html

  result[:publishers] = result[:developers].map{ |dev| dev.dup } unless result[:publishers] if result[:developers]

  result

end

#urlObject



30
31
32
# File 'lib/desuraify/engine.rb', line 30

def url
  "http://www.desura.com/engines/#{@id}"
end