class TwitterRequestHeaders
Constants
- OAUTH_CIPHER
- OAUTH_VERSION
- TWITTER_API
Attributes
Public Class Methods
Define Twitter application credentials and options to be accessible from rest of all library.
@param consumer_key
[String] Application ID/Key @param consumer_secret
[String] Application Secret @param oauth_version
[String, nil] OAuth version used by Twitter. See dashboard. @param oauth_cipher
[String, nil] OAuth chipher used by Twitter. See API docs. @param twitter_api
[String, nil] Twitter API address. See dashboard. @return [true]
# File lib/twitter_request_headers.rb, line 22 def configure(consumer_key, consumer_secret, oauth_version = nil, oauth_cipher = nil, twitter_api = nil) @consumer_key = consumer_key @consumer_secret = consumer_secret @oauth_version = oauth_version || OAUTH_VERSION @oauth_cipher = oauth_cipher || OAUTH_CIPHER @twitter_api = twitter_api || TWITTER_API @@configured = true end
Creates new session.
@param oauth_token [String] Twitter OAuth Key @param oauth_secret [String] Twitter OAuth Secret @param request_verb [String] HTTP verb: GET, POST, e.g. @param request_path [String] HTTP request path. Like /users/blah/blah @param request_params [Hash, nil] HTTP request query. Like {user_id: 111222333}
# File lib/twitter_request_headers.rb, line 42 def initialize(oauth_token, oauth_secret, request_verb, request_path, request_params = nil) unless @@configured fail StandardError, "Call #{self.class}.configure first!" end @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
HTTP header of format: {'Authorization' => 'OAuth …'}
@return [Hash]
# File lib/twitter_request_headers.rb, line 63 def header signature = Signature.new( @oauth_token, @oauth_secret, @request_verb, @request_path, @request_params, @nonce, @epochtime ).digest { Header.key => Header.new(@oauth_token, signature, @nonce, @epochtime).value } end
Private Instance Methods
Current unixtime (seconds) @return [String] 1446639000
# File lib/twitter_request_headers.rb, line 88 def epochtime Time.now.to_i.to_s end
# File lib/twitter_request_headers.rb, line 81 def nonce SecureRandom.hex(16) end