class Visa::Request

Attributes

environment[R]

Public Class Methods

new(environment) click to toggle source
# File lib/visa/request.rb, line 4
def initialize(environment)
  @environment = environment
end

Public Instance Methods

invalidate() click to toggle source
# File lib/visa/request.rb, line 8
def invalidate
  token.touch :voided_at
end
touch() click to toggle source
# File lib/visa/request.rb, line 12
def touch
  token.touch :last_requested_at
end
valid?() click to toggle source
# File lib/visa/request.rb, line 16
def valid?
  token.present? && token.voided_at.nil? && not_too_old?
end

Private Instance Methods

credentials() click to toggle source
# File lib/visa/request.rb, line 24
def credentials
  string = request.params['access_token'] ||
    environment[Visa.request_header] || ''

  [string[0..15], string[16..57]]
end
not_too_old?() click to toggle source
# File lib/visa/request.rb, line 31
def not_too_old?
  time = token.last_requested_at || token.created_at
  time > Visa.timeout.ago
end
request() click to toggle source
# File lib/visa/request.rb, line 36
def request
  @request ||= Rack::Request.new environment
end
token() click to toggle source
# File lib/visa/request.rb, line 40
def token
  @token ||= Visa::Token.find_by_credentials *credentials
end