Sha256: 927954141907134ab330adfd078bd53d18eddcef4871c35dbf587daa8ac43f1d

Contents?: true

Size: 772 Bytes

Versions: 5

Compression:

Stored size: 772 Bytes

Contents

# frozen_string_literal: true

require "devise"

# User
class User < ApplicationRecord
  extend Devise::Models
  include Blacklight::User

  # Include default devise modules. Others available are:
  # :confirmable, :lockable, :timeoutable, :trackable and :omniauthable
  devise :database_authenticatable, :recoverable, :rememberable, :validatable

  has_many :bookmarks, dependent: :destroy, as: :user
  has_many :notifications, dependent: :destroy, as: :recipient

  def bookmarks_for_documents(documents = [])
    if documents.any?
      bookmarks.where(document_type: documents.first.class.base_class.to_s, document_id: documents.map(&:id))
    else
      []
    end
  end

  def document_is_bookmarked?(document)
    bookmarks_for_documents([document]).any?
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
geoblacklight_admin-0.7.0 app/models/user.rb
geoblacklight_admin-0.6.3 app/models/user.rb
geoblacklight_admin-0.6.2 app/models/user.rb
geoblacklight_admin-0.6.1 app/models/user.rb
geoblacklight_admin-0.6.0 app/models/user.rb