openstreetmap-website/app/models/oauth_token.rb
2011-11-16 21:13:25 +00:00

34 lines
747 B
Ruby

class OauthToken < ActiveRecord::Base
belongs_to :client_application
belongs_to :user
scope :authorized, where("authorized_at IS NOT NULL and invalidated_at IS NULL")
validates_uniqueness_of :token
validates_presence_of :client_application, :token
before_validation :generate_keys, :on => :create
def invalidated?
invalidated_at != nil
end
def invalidate!
update_attribute(:invalidated_at, Time.now)
end
def authorized?
authorized_at != nil && !invalidated?
end
def to_query
"oauth_token=#{token}&oauth_token_secret=#{secret}"
end
protected
def generate_keys
self.token = OAuth::Helper.generate_key(40)[0,40]
self.secret = OAuth::Helper.generate_key(40)[0,40]
end
end