class Stuart::Infrastructure::Authenticator

Attributes

environment[R]

Public Class Methods

new(environment, api_client_id, api_client_secret) click to toggle source
# File lib/stuart-client-ruby/infrastructure/authenticator.rb, line 8
def initialize(environment, api_client_id, api_client_secret)
  @environment = environment
  @oauth_client = OAuth2::Client.new(api_client_id,
                                     api_client_secret,
                                     site: environment[:base_url])
end

Public Instance Methods

access_token() click to toggle source
# File lib/stuart-client-ruby/infrastructure/authenticator.rb, line 15
def access_token
  has_valid_token? ? @access_token.token : new_access_token.token
end

Private Instance Methods

has_valid_token?() click to toggle source
# File lib/stuart-client-ruby/infrastructure/authenticator.rb, line 25
def has_valid_token?
  !@access_token.nil? && !@access_token.expired?
end
new_access_token() click to toggle source
# File lib/stuart-client-ruby/infrastructure/authenticator.rb, line 21
def new_access_token
  @access_token = @oauth_client.client_credentials.get_token
end