Class: Avm::RedditBase0::Api::AccessToken

Inherits:
Object
  • Object
show all
Defined in:
lib/avm/reddit_base0/api/access_token.rb

Constant Summary collapse

URL =
'https://www.reddit.com/api/v1/access_token'

Instance Method Summary collapse

Instance Method Details

#fresh_resultString

Returns:

  • (String)


17
18
19
# File 'lib/avm/reddit_base0/api/access_token.rb', line 17

def fresh_result
  http_request.response.body_data_or_raise.fetch('access_token')
end

#fs_object_idObject



21
22
23
# File 'lib/avm/reddit_base0/api/access_token.rb', line 21

def fs_object_id
  [api.username, api.user_username]
end

#http_requestEacEnvs::Http::Request

Returns:

  • (EacEnvs::Http::Request)


31
32
33
34
35
# File 'lib/avm/reddit_base0/api/access_token.rb', line 31

def http_request
  ::EacEnvs::Http::Request.new.url(URL).verb(:post).body_data(
    grant_type: 'password', username: api.user_username, password: api.user_password
  ).basic_auth(api.client_id, api.secret)
end

#resultString

Returns:

  • (String)


26
27
28
# File 'lib/avm/reddit_base0/api/access_token.rb', line 26

def result
  fs_cache.read_or_store { fresh_result }
end