Sha256: e8d285047dea284f65878b36e43ae580e9eea23b64d90a7ea98bd859860b19f9

Contents?: true

Size: 746 Bytes

Versions: 10

Compression:

Stored size: 746 Bytes

Contents

# frozen_string_literal: true

# User
class User < ApplicationRecord
  include Blacklight::User

  # Include default devise modules. Others available are:
  # :confirmable, :lockable, :timeoutable, :trackable and :omniauthable
  devise :invitable, :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

10 entries across 10 versions & 1 rubygems

Version Path
geoblacklight_admin-0.5.1 app/models/user.rb
geoblacklight_admin-0.5.0 app/models/user.rb
geoblacklight_admin-0.4.2 app/models/user.rb
geoblacklight_admin-0.4.1 app/models/user.rb
geoblacklight_admin-0.4.0 app/models/user.rb
geoblacklight_admin-0.3.2 app/models/user.rb
geoblacklight_admin-0.3.1 app/models/user.rb
geoblacklight_admin-0.3.0 app/models/user.rb
geoblacklight_admin-0.2.1 app/models/user.rb
geoblacklight_admin-0.1.0 app/models/user.rb