Sha256: 2dd721050d8704518a8fbd36b43e04c2921f2b6621b739abc17e98550cec78f9

Contents?: true

Size: 655 Bytes

Versions: 1

Compression:

Stored size: 655 Bytes

Contents

module Skydrive
  class Token < ActiveRecord::Base
    validates :user_id, uniqueness: true
    belongs_to :user

    def requires_refresh?
      !!self.not_before && self.not_before < Time.now
    end

    def is_valid?
      !!self.access_token && self.expires_on && self.expires_on > Time.now
    end

    def refresh!(client)
      results = {}
      results = client.refresh_token(resource: resource)
      if results.key? 'access_token'
        attrs = ['token_type', 'expires_in', 'expires_on', 'not_before', 'resource', 'access_token', 'refresh_token']
        update_attributes(results.reject{|a| !attrs.include?(a)})
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
lti_skydrive-1.2.0 app/models/skydrive/token.rb