class Nubank::Client

Constants

CLIENT_ID
CLIENT_SECRET
GRANT_TYPE

Attributes

access_token[R]
endpoint[R]
identification[R]
password[R]

Public Class Methods

new(identification, password) click to toggle source
# File lib/nubank/client.rb, line 13
def initialize(identification, password)
  @identification = identification
  @password = password
  @access_token = nil
  @endpoint = Endpoint.new
end

Public Instance Methods

account() click to toggle source
# File lib/nubank/client.rb, line 31
def account
  request = Request.new(:get, endpoint.account, access_token)
  request.run.tap { |response| response.resource = Resources::Account }
end
events() click to toggle source
# File lib/nubank/client.rb, line 36
def events
  request = Request.new(:get, endpoint.events, access_token)
  request.run.tap { |response| response.resource = Resources::Events }
end
login() click to toggle source
# File lib/nubank/client.rb, line 20
def login
  @login ||= begin
               request = Request.new(:post, endpoint.login, access_token, json: login_params)
               request.run.tap do |response|
                 body = response.parsed_body
                 endpoint.populate(body['_links'])
                 @access_token = body['access_token']
               end
             end
end

Private Instance Methods

authorization() click to toggle source
# File lib/nubank/client.rb, line 55
def authorization
  @authorization ||= "Bearer #{access_token}"
end
login_params() click to toggle source
# File lib/nubank/client.rb, line 45
def login_params
  {
    login: identification,
    password: password,
    client_id: CLIENT_ID,
    client_secret: CLIENT_SECRET,
    grant_type: GRANT_TYPE
  }
end