Class: Cpro::Auth::TokenProvider

Inherits:
Object
  • Object
show all
Defined in:
lib/cpro/auth/token_provider.rb

Instance Method Summary collapse

Constructor Details

#initialize(configuration) ⇒ TokenProvider

Returns a new instance of TokenProvider.



6
7
8
9
10
# File 'lib/cpro/auth/token_provider.rb', line 6

def initialize(configuration)
  @configuration = configuration
  @mutex = Mutex.new
  @token = nil
end

Instance Method Details

#invalidate!Object



19
20
21
# File 'lib/cpro/auth/token_provider.rb', line 19

def invalidate!
  @mutex.synchronize { @token = nil }
end

#tokenObject



12
13
14
15
16
17
# File 'lib/cpro/auth/token_provider.rb', line 12

def token
  @mutex.synchronize do
    @token = fetch if @token.nil? || @token.expired?
    @token
  end
end