Sha256: 510552b197b2eedddbac79ea88547423d2371547987d5813210d53df549626d8
Contents?: true
Size: 995 Bytes
Versions: 4
Compression:
Stored size: 995 Bytes
Contents
require 'fluxx/resource' module Fluxx # API Token handler class Token < Resource GRANT_TYPE = 'client_credentials' EXPIRATION_DELTA = 60 path '/oauth/token' # Resource creation helper # # @param params [Hash] request parameters to pass to the endpoint # @return [Object] instance def self.create(params = {}) client_id = Thread.current.thread_variable_get(:FLUXX_CLIENT_ID) secret = Thread.current.thread_variable_get(:FLUXX_SECRET) super(params.merge( grant_type: GRANT_TYPE, client_id: client_id || ENV['FLUXX_CLIENT_ID'], client_secret: secret || ENV['FLUXX_SECRET'] )) end # Creates or refreshes a token # # @return [Fluxx::Token] instance def self.fresh @token ||= create @expires_in ||= 0 if Time.now.to_i > @expires_in + @token.expires_in - EXPIRATION_DELTA @token = create @expires_in = Time.now.to_i end @token end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
fluxx-0.1.5 | lib/fluxx/token.rb |
fluxx-0.1.4 | lib/fluxx/token.rb |
fluxx-0.1.3 | lib/fluxx/token.rb |
fluxx-0.1.1 | lib/fluxx/token.rb |