Ruby Amazon Alexa web service REST API using Hpricot with configurable default options and method call options. Uses Response and Element wrapper classes for easy access to REST XML output.
This version is based on github.com/hasham2/amazon-awis but I didn’t like how it was possible to globally alter options. The AWS_ACCESS_KEY_ID and AWS_SECRET_KEY are still global since one will likely only want to initialize these once.
$ gem install gaiottino-amazon-awis
require 'rubygems' require 'amazon/awis'
# set the default config; config will be camelized and converted to REST request parameters. Amazon::Awis.configure do |config| config[:aws_access_key_id] = AWS_ACCESS_KEY_ID config[:aws_secret_key] = AWS_SECRET_KEY end # create an instance of Awis for a specific action and domain awis = Amazon::Awis.new({ :action => :url_info, :domain => 'google.com' }) # call query with the Response Group you want resp = awis.query(:rank) # some common response object methods res.is_success? # return true if request was successful #dynamic methods res.rank # return the rank of domain name that was passed res.dataurl # returns the url which was queried # Query another action/domain after updating the options awis.options[:domain] = 'yahoo.com/'
Refer to Amazon AWIS documentation for more information on Amazon REST request parameters and XML output: docs.amazonwebservices.com/AlexaWebInfoService/2005-07-11/
(The MIT License)
Copyright © 2010 Daniel Gaiottino (Based on the initial work by Hasham Malik)