Module: PageRankr::Tracker

Included in:
Backlinks, Indexes, Ranks
Defined in:
lib/page_rankr/tracker.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#site_trackersObject

Returns the value of attribute site_trackers.



5
6
7
# File 'lib/page_rankr/tracker.rb', line 5

def site_trackers
  @site_trackers
end

Instance Method Details

#initializeObject



7
8
9
# File 'lib/page_rankr/tracker.rb', line 7

def initialize
  @site_trackers = self.class.constants.collect{|tracker| symbol_for(tracker)}
end

#lookup(site, *trackers) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/page_rankr/tracker.rb', line 11

def lookup(site, *trackers)
  trackers = site_trackers if trackers.empty?
  
  tracked = {}
  hydra = Typhoeus::Hydra.new
  trackers.each do |tracker|
    name, klass = constant_name(tracker), self.class
    
    next unless klass.const_defined? name

    tracked[tracker] = klass.const_get(name).new(site)
    hydra.queue tracked[tracker].request
  end
  hydra.run
  
  tracked.keys.each do |tracker|
    tracked[tracker] = tracked[tracker].tracked
  end
  
  tracked
end