Module: Twumper::Config

Included in:
Client
Defined in:
lib/twumper/config.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#bearerObject

Returns the value of attribute bearer.



4
5
6
# File 'lib/twumper/config.rb', line 4

def bearer
  @bearer
end

#consumer_keyObject

Returns the value of attribute consumer_key.



4
5
6
# File 'lib/twumper/config.rb', line 4

def consumer_key
  @consumer_key
end

#consumer_secretObject

Returns the value of attribute consumer_secret.



4
5
6
# File 'lib/twumper/config.rb', line 4

def consumer_secret
  @consumer_secret
end

#headersObject

Returns the value of attribute headers.



4
5
6
# File 'lib/twumper/config.rb', line 4

def headers
  @headers
end

Instance Method Details

#build_bearer_requestObject



22
23
24
25
26
27
28
# File 'lib/twumper/config.rb', line 22

def build_bearer_request
  credentials = set_credentials
  url = "https://api.twitter.com/oauth2/token"
  body = "grant_type=client_credentials"
  headers = set_headers(credentials)
  request_bearer(url, body, headers)
end

#config {|_self| ... } ⇒ Object

Yields:

  • (_self)

Yield Parameters:



6
7
8
# File 'lib/twumper/config.rb', line 6

def config 
 yield self
end

#get_bearerObject



18
19
20
# File 'lib/twumper/config.rb', line 18

def get_bearer
  self.bearer = build_bearer_request
end

#request_bearer(url, body, headers) ⇒ Object



42
43
44
45
# File 'lib/twumper/config.rb', line 42

def request_bearer(url, body, headers)
  resp = connection.post(url, body: body, headers: headers)
  bearer_token = resp['access_token']
end

#resetObject



10
11
12
13
14
15
16
# File 'lib/twumper/config.rb', line 10

def reset 
  self.headers = nil
  self.consumer_key = nil
  self.consumer_secret = nil
  self.bearer = nil
  self
end

#set_credentialsObject



30
31
32
# File 'lib/twumper/config.rb', line 30

def set_credentials
  credentials = Base64.encode64("#{self.consumer_key}:#{self.consumer_secret}").gsub("\n", '')
end

#set_headers(credentials = nil) ⇒ Object



34
35
36
37
38
39
40
# File 'lib/twumper/config.rb', line 34

def set_headers(credentials=nil)
  if self.bearer.nil? && credentials
    self.headers = { "Authorization" => "Basic #{credentials}" }
  else
    self.headers = { "Authorization" => "Bearer #{self.bearer}" }
  end
end