
Untitled
By: a guest on
May 4th, 2012 | syntax:
None | size: 1.24 KB | hits: 11 | expires: Never
#!/usr/bin/env ruby
module GoogleBase
require 'net/http'
require 'rexml/document'
def GoogleBase.search(query)
formatted_query = query
url = "http://www.google.com/base/feeds/snippets?bq=#{formatted_query}&key=###"
xml_data = Net::HTTP.get_response(URI.parse(url)).body
doc = REXML::Document.new(xml_data)
entries = []
doc.elements.each('entry') do |element|
entries << element
end
products = []
entries.each do |entry|
product << Product.create(entry)
end
return products
end
class Product
attr_accessor :google_id, :published, :updated, :title, :content, :link, :author_name, :price_in_usd, :xml
def initialize(entry)
self.google_id = entry.google_id
self.published = entry.published
self.updated = entry.updated
self.title = entry.title
self.content = entry.content
self.link = entry.link
self.author_name = entry.author.name
self.price_in_usd = entry.price
self.xml = entry
end
end
end
## What I've tried in the console
>> require 'GoogleBase'
=> ["GoogleBase"]
>> products = GoogleBase.search("macbook")
=> []
>> products.each do {|p| print p.title}
>>