Class: GenericAggregator
Instance Method Summary
collapse
#add_member, #aggregator!, #member_ids, #members, #remove_member, #solr_members, #thumbnail_info
#cmodel_pid, #create, #datastreams_in_fedora, #has_desc?, #initialize, #rdf_type, #thumbnail_info, #update_datastream_attributes
Instance Method Details
#index_type_label ⇒ Object
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# File 'app/models/generic_aggregator.rb', line 16
def index_type_label
riquery = Cul::Scv::Hydra::Models::MEMBER_ITQL.gsub(/%PID%/, self.pid)
begin
docs = Cul::Scv::Fedora.repository.find_by_itql riquery, limit: 2, format: json
docs = JSON.parse(docs)['results']
rescue Exception=>e
Rails.logger.warn("#{self.class.name} failed to find children with TQL: #{e.message}")
docs = self.parts
end
if docs.size == 0
label = "EMPTY"
elsif docs.size == 1
label = "SINGLE PART"
else
label = "MULTIPART"
end
label
end
|
#route_as ⇒ Object
12
13
14
|
# File 'app/models/generic_aggregator.rb', line 12
def route_as
"multipartitem"
end
|
#to_solr(solr_doc = Hash.new, opts = {}) ⇒ Object
35
36
37
38
39
|
# File 'app/models/generic_aggregator.rb', line 35
def to_solr(solr_doc = Hash.new, opts={})
solr_doc = super(solr_doc, opts)
solr_doc["cul_number_of_members_isi"] = Cul::Scv::Hydra::RisearchMembers.get_direct_member_pids(pid).length
solr_doc
end
|