class HelpScout::API::AccessToken
Attributes
expires_at[R]
expires_in[R]
invalid[RW]
value[R]
Public Class Methods
create()
click to toggle source
# File lib/help_scout/api/access_token.rb, line 11 def create cache = HelpScout::API::AccessToken::Cache.new request = HelpScout::API::AccessToken::Request.new cache.configured? ? cache.fetch_token { request.execute } : request.execute end
new(params)
click to toggle source
# File lib/help_scout/api/access_token.rb, line 28 def initialize(params) @value = params[:access_token] if params[:expires_at] @expires_at = DateTime.parse(params[:expires_at].to_s).to_time.utc elsif params[:expires_in] @expires_in = params[:expires_in].to_i @expires_at = (Time.now.utc + @expires_in) end end
refresh!()
click to toggle source
# File lib/help_scout/api/access_token.rb, line 18 def refresh! return HelpScout.access_token unless HelpScout.access_token.nil? || HelpScout.access_token.stale? HelpScout.api.access_token = create end
Public Instance Methods
as_json(*)
click to toggle source
# File lib/help_scout/api/access_token.rb, line 39 def as_json(*) { access_token: value, expires_at: expires_at } end
expired?()
click to toggle source
# File lib/help_scout/api/access_token.rb, line 46 def expired? return false unless expires_at Time.now.utc > expires_at end
invalid?()
click to toggle source
# File lib/help_scout/api/access_token.rb, line 52 def invalid? !!invalid # rubocop:disable Style/DoubleNegation end
invalidate!()
click to toggle source
# File lib/help_scout/api/access_token.rb, line 56 def invalidate! cache = HelpScout::API::AccessToken::Cache.new cache.delete if cache.configured? self.invalid = true end
stale?()
click to toggle source
# File lib/help_scout/api/access_token.rb, line 64 def stale? invalid? || expired? end