class Signature

Creates signature of request parameters. dev.twitter.com/oauth/overview/creating-signatures

Public Class Methods

new(oauth_token, oauth_secret, request_verb, request_path, request_params, nonce, epochtime) click to toggle source
# File lib/signature.rb, line 14
def initialize(oauth_token, oauth_secret, request_verb, request_path, request_params, nonce, epochtime)
  @oauth_token = oauth_token
  @oauth_secret = oauth_secret

  @request_verb = request_verb
  @request_path = request_path
  @request_params = request_params

  @nonce = nonce
  @epochtime = epochtime
end

Public Instance Methods

digest() click to toggle source
# File lib/signature.rb, line 26
def digest
  request_digest = OpenSSL::HMAC.hexdigest('sha1', signing_key, signing_base)

  Base64.encode64(Array(request_digest).pack('H*')).chomp
end

Private Instance Methods

signature_params() click to toggle source
# File lib/signature.rb, line 42
def signature_params
  SignatureParams.new(@oauth_token, @nonce, @epochtime, @request_params).params
end
signing_base() click to toggle source
# File lib/signature.rb, line 38
def signing_base
  SigningBase.new(@request_verb, @request_path, signature_params).base_string
end
signing_key() click to toggle source
# File lib/signature.rb, line 34
def signing_key
  SigningKey.new(@oauth_secret).key
end