lib/page_rankr/indexes/google.rb in PageRankr-1.7.1 vs lib/page_rankr/indexes/google.rb in PageRankr-2.0.0
- old
+ new
@@ -1,19 +1,27 @@
-require 'cgi'
+require 'typhoeus'
require 'json'
module PageRankr
- class Indexes < Tracker
- class Google < Index
+ class Indexes
+ class Google
+ include Index
# overloaded to use Google's AJAX search API
# http://code.google.com/apis/ajaxsearch/documentation/
def initialize(site)
- @indexes = clean JSON.parse( open( url(site)).read )["responseData"]["cursor"]["estimatedResultCount"].to_s
+ @site = site
+
+ request.on_complete do |response|
+ json = JSON.parse(response.body)
+ @indexes = clean(json["responseData"]["cursor"]["estimatedResultCount"].to_s)
+ @indexes = nil if @indexes.zero?
+ end
end
- def url(site)
- "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&rsz=1&q=site%3A#{CGI.escape(site)}"
+ def request
+ @request ||= Typhoeus::Request.new("http://ajax.googleapis.com/ajax/services/search/web",
+ :params => {:v => "1.0", :rsz => 1, :q => "site:#{@site.to_s}"}, :method => :get)
end
end
end
end
\ No newline at end of file