Class: Hydra::Datastream::InheritableRightsMetadata

Inherits:
RightsMetadata
  • Object
show all
Defined in:
lib/hydra/datastream/inheritable_rights_metadata.rb

Overview

Implements Hydra RightsMetadata XML terminology for asserting access permissions

Instance Method Summary collapse

Methods inherited from RightsMetadata

#active_lease?, #clear_permissions!, #date_indexer, date_indexer, #groups, #indexer, indexer, #individuals, #permissions, #permissions=, #quick_search_by_type, #under_embargo?, #update_permissions, #users, xml_template

Instance Method Details

#to_solr(solr_doc = Hash.new) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
# File 'lib/hydra/datastream/inheritable_rights_metadata.rb', line 9

def to_solr(solr_doc=Hash.new)
  [:discover, :read, :edit].each do |access|
    solr_doc[Hydra.config[:permissions][:inheritable][access][:group]] = send("#{access}_access").machine.group
    solr_doc[Hydra.config[:permissions][:inheritable][access][:individual]] = send("#{access}_access").machine.person
  end
  if embargo_release_date.present?
    key = Hydra.config.permissions.inheritable.embargo.release_date.sub(/_[^_]+$/, '') #Strip off the suffix
    ::Solrizer.insert_field(solr_doc, key, embargo_release_date, :stored_sortable)
  end
  return solr_doc
end