Class: Amazon::Awis
- Inherits:
-
Object
- Object
- Amazon::Awis
- Defined in:
- lib/amazon/awis.rb
Defined Under Namespace
Classes: Response
Constant Summary collapse
- @@config =
{}
- @@debug =
false
Class Method Summary collapse
- .configure {|@@config| ... } ⇒ Object
-
.debug ⇒ Object
Get debug flag.
-
.debug=(dbg) ⇒ Object
Set debug flag to true or false.
Instance Method Summary collapse
-
#initialize(opts = {}) ⇒ Awis
constructor
A new instance of Awis.
-
#options ⇒ Object
Default service options.
-
#options=(opts) ⇒ Object
Set default service options.
- #query(response_group) ⇒ Object
Constructor Details
#initialize(opts = {}) ⇒ Awis
Returns a new instance of Awis.
42 43 44 45 46 47 48 49 50 |
# File 'lib/amazon/awis.rb', line 42 def initialize(opts={}) @options = { :action => :url_info, } @options.merge!(opts) raise 'Use Awis.configure before creating a new object to set :aws_access_key_id and :aws_secret_key' unless @@config[:aws_access_key_id] && @@config[:aws_secret_key] raise 'Missing required option :domain' unless [:domain] end |
Class Method Details
.configure {|@@config| ... } ⇒ Object
52 53 54 55 |
# File 'lib/amazon/awis.rb', line 52 def self.configure(&proc) raise ArgumentError, "Block is required." unless block_given? yield @@config end |
.debug ⇒ Object
Get debug flag.
68 69 70 |
# File 'lib/amazon/awis.rb', line 68 def self.debug @@debug end |
.debug=(dbg) ⇒ Object
Set debug flag to true or false.
73 74 75 |
# File 'lib/amazon/awis.rb', line 73 def self.debug=(dbg) @@debug = dbg end |
Instance Method Details
#options ⇒ Object
Default service options
58 59 60 |
# File 'lib/amazon/awis.rb', line 58 def @options end |
#options=(opts) ⇒ Object
Set default service options
63 64 65 |
# File 'lib/amazon/awis.rb', line 63 def (opts) @options = opts end |
#query(response_group) ⇒ Object
77 78 79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/amazon/awis.rb', line 77 def query(response_group) raise 'Must specify Response Group e.g. :rank, rank, or Rank for Rank' unless response_group url = prepare_url([:domain], response_group) log "Request URL: #{url}" res = Net::HTTP.get_response(url) unless res.kind_of? Net::HTTPSuccess raise Amazon::RequestError, "HTTP Response: #{res.code} #{res.}" end log "Response text: #{res.body}" Response.new(res.body) end |