class Chebyte::GeoLoc

Public Class Methods

new(api_key = 'dj0yJmk9aHhiV1JPeXpRZDRxJmQ9WVdrOVVWVnVOVWxtTldjbWNHbzlNQS0tJnM9Y29uc3VtZXJzZWNyZXQmeD00Yw--', share_key = '92d98ea113c0246d6a91b3858ea3f16ea1e87338') click to toggle source
# File lib/ruby-yql.rb, line 89
def initialize(api_key = 'dj0yJmk9aHhiV1JPeXpRZDRxJmQ9WVdrOVVWVnVOVWxtTldjbWNHbzlNQS0tJnM9Y29uc3VtZXJzZWNyZXQmeD00Yw--', share_key = '92d98ea113c0246d6a91b3858ea3f16ea1e87338')
  @o = OauthUtil.new
  @o.consumer_key    = api_key
  @o.consumer_secret = share_key
  @response = nil
end

Public Instance Methods

escape(string) click to toggle source
# File lib/ruby-yql.rb, line 96
def escape(string)
  CGI::escape(string)
end
find(sql) click to toggle source
# File lib/ruby-yql.rb, line 113
def find(sql)
  url = "http://query.yahooapis.com/v1/public/yql?q=#{escape(sql)}"
  parsed_url = URI.parse( sql )
  Net::HTTP.start( parsed_url.host ) do | http |
    req = Net::HTTP::Get.new "#{ parsed_url.path }?#{ @o.sign(url).to_query_string }"
    @response = Location.new(Hpricot.XML(http.request(req).read_body))
  end
end
find_by_address(string) click to toggle source
# File lib/ruby-yql.rb, line 100
def find_by_address(string)
  url = "http://query.yahooapis.com/v1/public/yql?q=SELECT%20centroid%20from%20geo.places%20WHERE%20text%3D'#{escape(string)}'&diagnostics=false"
  parsed_url = URI.parse( url )
  begin
    Net::HTTP.start( parsed_url.host ) do | http |
      req = Net::HTTP::Get.new "#{ parsed_url.path }?#{ @o.sign(url).to_query_string }"
      @response = Location.new(Hpricot.XML(http.request(req).read_body))
    end
  rescue
    ""
  end
end