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.



12
13
14
15
16
17
# File 'lib/capitalone-api/client.rb', line 12

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
end

Instance Attribute Details

#access_tokenObject

Returns the value of attribute access_token.



9
10
11
# File 'lib/capitalone-api/client.rb', line 9

def access_token
  @access_token
end

#client_idObject

Returns the value of attribute client_id.



9
10
11
# File 'lib/capitalone-api/client.rb', line 9

def client_id
  @client_id
end

#client_secretObject

Returns the value of attribute client_secret.



9
10
11
# File 'lib/capitalone-api/client.rb', line 9

def client_secret
  @client_secret
end

#redirect_uriObject

Returns the value of attribute redirect_uri.



9
10
11
# File 'lib/capitalone-api/client.rb', line 9

def redirect_uri
  @redirect_uri
end

#refresh_tokenObject

Returns the value of attribute refresh_token.



9
10
11
# File 'lib/capitalone-api/client.rb', line 9

def refresh_token
  @refresh_token
end

#server_urlObject

Returns the value of attribute server_url.



9
10
11
# File 'lib/capitalone-api/client.rb', line 9

def server_url
  @server_url
end

Instance Method Details

#get_access_tokens(auth_code) ⇒ Object

Parameters:

  • auth_code (String)


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

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
  }

  uri = URI.parse("#{@server_url}/oauth/oauth20/token")
  res = Net::HTTP.post_form(uri, params)

  result = MultiJson.load(res.body)

  @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
58
59
60
# 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
  }

  uri = URI.parse("#{@server_url}/oauth/oauth20/token")
  res = Net::HTTP.post_form(uri, params)

  result = MultiJson.load(res.body)

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

  result
end