module Alexa

Constants

SERVICE_HOST

Public Class Methods

config() { |instance| ... } click to toggle source
# File lib/alexa/config.rb, line 9
def self.config
  if block_given?
    yield Config.instance
  end
  Config.instance
end
query_string(options) click to toggle source
# File lib/alexa.rb, line 20
def self.query_string(options)
  options.keys.sort.map { |k| k + '=' + self.uri_escape(options[k].to_s) }.join('&')
end
sign(options) click to toggle source
# File lib/alexa.rb, line 24
def self.sign(options)
  sign_str  = "GET\n" + SERVICE_HOST + "\n/\n" + query_string(options)
  self.uri_escape(Base64.encode64( OpenSSL::HMAC.digest( OpenSSL::Digest::Digest.new( "sha256" ), Alexa.config.secret_access_key, sign_str)).strip)
end
uri_escape(input) click to toggle source
# File lib/alexa.rb, line 16
def self.uri_escape(input)
  URI.escape(input, /[^A-Za-z0-9\-_.~]/)
end