module Osso::OAuth2Token
Public Class Methods
included(klass)
click to toggle source
# File lib/osso/lib/oauth2_token.rb, line 7 def self.included(klass) klass.class_eval do cattr_accessor :default_lifetime self.default_lifetime = 1.minute belongs_to :user belongs_to :oauth_client before_validation :setup, on: :create validates :oauth_client, :expires_at, presence: true validates :token, presence: true, uniqueness: true scope :valid, -> { where('expires_at > ?', Time.now.utc) } end end
Public Instance Methods
expired!()
click to toggle source
# File lib/osso/lib/oauth2_token.rb, line 26 def expired! self.expires_at = Time.now.utc save! end
expires_in()
click to toggle source
# File lib/osso/lib/oauth2_token.rb, line 22 def expires_in (expires_at - Time.now.utc).to_i end
Private Instance Methods
setup()
click to toggle source
# File lib/osso/lib/oauth2_token.rb, line 33 def setup self.token = SecureRandom.hex(32) self.expires_at ||= default_lifetime.from_now end