Sha256: 78a5ec78b221e7160af6d92cb8e65dc67ed1a3c752a5c9087bf59a9d32412bb9

Contents?: true

Size: 972 Bytes

Versions: 11

Compression:

Stored size: 972 Bytes

Contents

module Doorkeeper
  class Application
    include Doorkeeper::OAuth::Helpers

    has_many :access_grants, :dependent => :destroy, :class_name => "Doorkeeper::AccessGrant"
    has_many :access_tokens, :dependent => :destroy, :class_name => "Doorkeeper::AccessToken"

    validates :name, :secret, :uid, :redirect_uri, :presence => true
    validates :uid, :uniqueness => true
    validates :redirect_uri, :redirect_uri => true

    before_validation :generate_uid, :generate_secret, :on => :create

    attr_accessible :name, :redirect_uri

    def self.model_name
      ActiveModel::Name.new(self, Doorkeeper, 'Application')
    end

    def self.authenticate(uid, secret)
      self.where(:uid => uid, :secret => secret).first
    end

    def self.by_uid(uid)
      self.where(:uid => uid).first
    end

    private

    def generate_uid
      self.uid = UniqueToken.generate
    end

    def generate_secret
      self.secret = UniqueToken.generate
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
doorkeeper-0.6.7 lib/doorkeeper/models/application.rb
doorkeeper-0.6.6 lib/doorkeeper/models/application.rb
doorkeeper-0.6.5 lib/doorkeeper/models/application.rb
doorkeeper-0.6.4 lib/doorkeeper/models/application.rb
doorkeeper-0.6.3 lib/doorkeeper/models/application.rb
doorkeeper-0.6.2 lib/doorkeeper/models/application.rb
doorkeeper-0.6.1 lib/doorkeeper/models/application.rb
doorkeeper-0.6.0 lib/doorkeeper/models/application.rb
doorkeeper-0.6.0.rc1 lib/doorkeeper/models/application.rb
doorkeeper-0.5.0 lib/doorkeeper/models/application.rb
doorkeeper-0.5.0.rc1 lib/doorkeeper/models/application.rb