Class: CapitalOneAPI::Client

Inherits:
Object
  • Object
show all
Includes:
RewardsResource
Defined in:
lib/capitalone-api/client.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from RewardsResource

#get_rewards_account_details, #get_rewards_accounts, #rewards_authorize_url

Constructor Details

#initialize(client_id:, client_secret:, redirect_uri:, server_url: CapitalOneAPI::PRODUCTION_SERVER_URL) ⇒ Client

Returns a new instance of Client.



14
15
16
17
18
19
20
# File 'lib/capitalone-api/client.rb', line 14

def initialize(client_id:, client_secret:, redirect_uri:, server_url: CapitalOneAPI::PRODUCTION_SERVER_URL)
  @client_id     = client_id
  @client_secret = client_secret
  @redirect_uri  = redirect_uri
  @server_url    = server_url
  @logger        = Logger.new("#{Bundler.root}/log/capitalone_api.log")
end

Instance Attribute Details

#access_tokenObject

Returns the value of attribute access_token.



11
12
13
# File 'lib/capitalone-api/client.rb', line 11

def access_token
  @access_token
end

#client_idObject

Returns the value of attribute client_id.



11
12
13
# File 'lib/capitalone-api/client.rb', line 11

def client_id
  @client_id
end

#client_secretObject

Returns the value of attribute client_secret.



11
12
13
# File 'lib/capitalone-api/client.rb', line 11

def client_secret
  @client_secret
end

#redirect_uriObject

Returns the value of attribute redirect_uri.



11
12
13
# File 'lib/capitalone-api/client.rb', line 11

def redirect_uri
  @redirect_uri
end

#refresh_tokenObject

Returns the value of attribute refresh_token.



11
12
13
# File 'lib/capitalone-api/client.rb', line 11

def refresh_token
  @refresh_token
end

#server_urlObject

Returns the value of attribute server_url.



11
12
13
# File 'lib/capitalone-api/client.rb', line 11

def server_url
  @server_url
end

Instance Method Details

#get_access_tokens(auth_code) ⇒ Object

Parameters:

  • auth_code (String)


23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/capitalone-api/client.rb', line 23

def get_access_tokens(auth_code)

  params = {
    grant_type:    'authorization_code',
    code:          auth_code,
    client_id:     @client_id,
    client_secret: @client_secret,
    redirect_uri:  @redirect_uri
  }

  result = post_request("#{@server_url}/oauth/oauth20/token", params)

  @access_token  = result['access_token']
  @refresh_token = result['refresh_token']

  result
end

#refresh_access_token(refresh_token) ⇒ Object

Parameters:

  • refresh_token (String)


42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/capitalone-api/client.rb', line 42

def refresh_access_token(refresh_token)

  params = {
    grant_type:    'refresh_token',
    refresh_token: refresh_token,
    client_id:     @client_id,
    client_secret: @client_secret
  }

  result = post_request("#{@server_url}/oauth/oauth20/token", params)

  @access_token  = result['access_token']
  @refresh_token = result['refresh_token']

  result
end