module Doorkeeper class Application include Mongoid::Document include Mongoid::Timestamps self.store_in collection: :oauth_applications field :name, :type => String field :uid, :type => String field :secret, :type => String field :redirect_uri, :type => String field :owner_id, :type => String field :owner_type, :type => String index({ uid: 1, owner_id: 1, owner_type: 1 }, { unique: true }) has_many :authorized_tokens, :class_name => "Doorkeeper::AccessToken" def self.authorized_for(resource_owner) ids = AccessToken.where(:resource_owner_id => resource_owner.id, :revoked_at => nil).map(&:application_id) find(ids) end end end