Motivation: I use YQL a lot and I find myself writing query = “select * from …”, passing the query to the YQL webservice, and then JSON-parsing the response, repeat … I searched (briefly) for a Ruby gem for YQL, but couldn’t find one, so I made (a very basic) function to perform the actions listed above.
Usage: Drop the code below in a file and run it
Code: [sourcecode lang=“ruby”] require ’net/http' require ‘rubygems’ require ‘json’
def yql(query) uri = “http://query.yahooapis.com/v1/public/yql"
everything’s requested via POST, which is all I needed when I wrote this
likewise, everything coming back is json encoded
response = Net::HTTP.post_form( URI.parse( uri ), { ‘q’ => query, ‘format’ => ‘json’ } )
json = JSON.parse( response.body ) return json end [/sourcecode]