Sha256: eefac08a3d329ba724e247b15812a029a75eb072f2832db4c33b88c3187d9e2c
Contents?: true
Size: 1.57 KB
Versions: 1
Compression:
Stored size: 1.57 KB
Contents
module Doorkeeper module ApplicationMixin extend ActiveSupport::Concern include OAuth::Helpers include Models::Scopes include ActiveModel::MassAssignmentSecurity if defined?(::ProtectedAttributes) included do has_many :access_grants, dependent: :destroy, class_name: 'Doorkeeper::AccessGrant' has_many :access_tokens, dependent: :destroy, class_name: 'Doorkeeper::AccessToken' validates :name, :secret, :uid, presence: true validates :uid, uniqueness: true validates :redirect_uri, redirect_uri: true before_validation :generate_uid, :generate_secret, on: :create if respond_to?(:attr_accessible) attr_accessible :name, :redirect_uri end end module ClassMethods def by_uid_and_secret(uid, secret) where(uid: uid.to_s, secret: secret.to_s).limit(1).to_a.first end def by_uid(uid) where(uid: uid.to_s).limit(1).to_a.first end end alias_method :original_scopes, :scopes def scopes if has_scopes? original_scopes else fail NameError, "Missing column: `applications.scopes`.", <<-MSG.squish If you are using ActiveRecord run `rails generate doorkeeper:application_scopes && rake db:migrate` to add it. MSG end end private def has_scopes? Doorkeeper.configuration.orm != :active_record || Application.new.attributes.include?("scopes") end def generate_uid self.uid ||= UniqueToken.generate end def generate_secret self.secret ||= UniqueToken.generate end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
doorkeeper-2.2.2 | lib/doorkeeper/models/application_mixin.rb |