Module: Osso::OAuth2Token

Included in:
Models::AccessToken, Models::AuthorizationCode
Defined in:
lib/osso/lib/oauth2_token.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(klass) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 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

Instance Method Details

#expired!Object



26
27
28
29
# File 'lib/osso/lib/oauth2_token.rb', line 26

def expired!
  self.expires_at = Time.now.utc
  save!
end

#expires_inObject



22
23
24
# File 'lib/osso/lib/oauth2_token.rb', line 22

def expires_in
  (expires_at - Time.now.utc).to_i
end