Sha256: 3f1207491263e36e64ce476cd33ec08ac9631e2979e673f300e5a0c6454638c2

Contents?: true

Size: 836 Bytes

Versions: 22

Compression:

Stored size: 836 Bytes

Contents

# frozen_string_literal: true

module Hyrax
  ##
  # Indexes `*_groups`/`*_users` style permissions. We depend on these
  # permissions being up-to-date in the index to support `Hyrax::Ability`.
  #
  # @example
  #   class MyIndexer < Hyrax::ValkyrieIndexer
  #     include Hyrax::PermissionIndexer
  #   end
  module PermissionIndexer
    def to_solr
      super.tap do |index_document|
        config      = Hydra.config.permissions
        permissions = Hyrax::PermissionManager.new(resource: resource)

        index_document[config.edit.group] = permissions.edit_groups.to_a
        index_document[config.edit.individual] = permissions.edit_users.to_a
        index_document[config.read.group] = permissions.read_groups.to_a
        index_document[config.read.individual] = permissions.read_users.to_a
      end
    end
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
hyrax-5.0.0.rc2 app/indexers/hyrax/permission_indexer.rb
hyrax-5.0.0.rc1 app/indexers/hyrax/permission_indexer.rb
hyrax-3.6.0 app/indexers/hyrax/permission_indexer.rb
hyrax-4.0.0 app/indexers/hyrax/permission_indexer.rb
hyrax-4.0.0.rc3 app/indexers/hyrax/permission_indexer.rb
hyrax-4.0.0.rc2 app/indexers/hyrax/permission_indexer.rb
hyrax-4.0.0.rc1 app/indexers/hyrax/permission_indexer.rb
hyrax-3.5.0 app/indexers/hyrax/permission_indexer.rb
hyrax-4.0.0.beta2 app/indexers/hyrax/permission_indexer.rb
hyrax-3.4.2 app/indexers/hyrax/permission_indexer.rb
hyrax-4.0.0.beta1 app/indexers/hyrax/permission_indexer.rb
hyrax-3.4.1 app/indexers/hyrax/permission_indexer.rb
hyrax-3.4.0 app/indexers/hyrax/permission_indexer.rb
hyrax-3.3.0 app/indexers/hyrax/permission_indexer.rb
hyrax-3.2.0 app/indexers/hyrax/permission_indexer.rb
hyrax-3.1.0 app/indexers/hyrax/permission_indexer.rb
hyrax-3.0.2 app/indexers/hyrax/permission_indexer.rb
hyrax-3.0.1 app/indexers/hyrax/permission_indexer.rb
hyrax-3.0.0 app/indexers/hyrax/permission_indexer.rb
hyrax-3.0.0.pre.rc4 app/indexers/hyrax/permission_indexer.rb