class Netdocuments::AccessTokenMaster

Attributes

client_secret[R]
grant_type[R]
refresh_token[R]
token[R]
url[R]

Public Class Methods

new(opts = {}) click to toggle source
# File lib/netdocuments/access_token_master.rb, line 6
def initialize(opts = {})
  @grant_type    = 'refresh_token'
  @url           = 'https://api.vault.netvoyage.com/v1/OAuth'
  @client_secret = opts[:client_secret]
  @refresh_token = opts[:refresh_token]
  @generated_at  = Time.now
  @validity      = 30 #this is in minutes
  @token         = get_token
end

Public Instance Methods

get_token() click to toggle source
# File lib/netdocuments/access_token_master.rb, line 16
def get_token
  response = HTTParty.post(@url,
                           body: {
                             grant_type: @grant_type,
                             refresh_token: @refresh_token
                           },
                           headers: {
                             'Authorization' => "Basic #{@client_secret}"
                           }
                           )
  response['access_token']
end
last_generated_minutes_ago() click to toggle source
# File lib/netdocuments/access_token_master.rb, line 34
def last_generated_minutes_ago
  TimeDifference.between(@generated_at,Time.now).in_minutes
end
valid?() click to toggle source
# File lib/netdocuments/access_token_master.rb, line 30
def valid?
  last_generated_minutes_ago <= @validity
end