instrument access token

This commit is contained in:
Konstantin Haase 2015-01-14 17:00:16 +01:00
parent 81b0019f14
commit 7d5d6b578c
2 changed files with 6 additions and 0 deletions

View File

@ -1,3 +1,4 @@
require 'skylight'
require 'travis'
require 'travis/model'
require 'travis/support/amqp'

View File

@ -3,6 +3,8 @@ require 'securerandom'
class Travis::Api::App
class AccessToken
include Skylight::Helpers
DEFAULT_SCOPES = [:public, :private]
attr_reader :token, :scopes, :user_id, :app_id, :expires_in, :extra
@ -22,6 +24,7 @@ class Travis::Api::App
new(token: token, scopes: scopes, user_id: user_id, app_id: app_id, extra: extra) if user_id
end
instrument_method
def initialize(options = {})
raise ArgumentError, 'must supply either user_id or user' unless options.key?(:user) ^ options.key?(:user_id)
raise ArgumentError, 'must supply app_id' unless options.key?(:app_id)
@ -40,6 +43,7 @@ class Travis::Api::App
@extra = options[:extra]
end
instrument_method
def save
key = key(token)
redis.del(key)
@ -90,6 +94,7 @@ class Travis::Api::App
private
instrument_method
def reuse_token
redis.get(reuse_key) unless expires_in
end