dor-services 9.3.0 → 9.4.0
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 496d07425ebd926eb69390d391aae0adfa646e365559152389b6ab75bd8c6f83
|
4
|
+
data.tar.gz: d76539bcc0b0516998343292cde5679071cb4cab7e8e7b6c3838801ac8158dfa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 70cc7de352cf5b9dfa40da2e54d29c016e3d04f30736a1775cb8c302d0cd77b6f7250d29f13a43ae536c1dabc2e9ae56ab38d1bba6091e92497b32decac965c8
|
7
|
+
data.tar.gz: da9531081f100de69b0cf6af3e5900ff532128245a00c47c4f618d19209c00b1ab7a10d878ad242b57913e9b3c7f2b4db8bb01d66191183bafdcf4a1acc815c9
|
@@ -160,37 +160,6 @@ module Dor
|
|
160
160
|
return_hash
|
161
161
|
end
|
162
162
|
|
163
|
-
def to_solr(solr_doc = {}, *args)
|
164
|
-
solr_doc = super(solr_doc, *args)
|
165
|
-
|
166
|
-
if digital_object.respond_to?(:profile)
|
167
|
-
digital_object.profile.each_pair do |property, value|
|
168
|
-
add_solr_value(solr_doc, property.underscore, value, (property =~ /Date/ ? :date : :symbol), [:stored_searchable])
|
169
|
-
end
|
170
|
-
end
|
171
|
-
|
172
|
-
if sourceId.present?
|
173
|
-
(name, id) = sourceId.split(/:/, 2)
|
174
|
-
add_solr_value(solr_doc, 'dor_id', id, :symbol, [:stored_searchable])
|
175
|
-
add_solr_value(solr_doc, 'identifier', sourceId, :symbol, [:stored_searchable])
|
176
|
-
add_solr_value(solr_doc, 'source_id', sourceId, :symbol, [])
|
177
|
-
end
|
178
|
-
otherId.compact.each do |qid|
|
179
|
-
# this section will solrize barcode and catkey, which live in otherId
|
180
|
-
(name, id) = qid.split(/:/, 2)
|
181
|
-
add_solr_value(solr_doc, 'dor_id', id, :symbol, [:stored_searchable])
|
182
|
-
add_solr_value(solr_doc, 'identifier', qid, :symbol, [:stored_searchable])
|
183
|
-
add_solr_value(solr_doc, "#{name}_id", id, :symbol, [])
|
184
|
-
end
|
185
|
-
|
186
|
-
solr_doc
|
187
|
-
end
|
188
|
-
|
189
|
-
# maintain AF < 8 indexing behavior
|
190
|
-
def prefix
|
191
|
-
''
|
192
|
-
end
|
193
|
-
|
194
163
|
private
|
195
164
|
|
196
165
|
# Convert one release element into a Hash
|
@@ -144,73 +144,6 @@ module Dor
|
|
144
144
|
@dra_object = nil # until TODO complete, we'll expect to have to reparse after modification
|
145
145
|
end
|
146
146
|
|
147
|
-
def to_solr(solr_doc = {}, *args)
|
148
|
-
solr_doc = super(solr_doc, *args)
|
149
|
-
dra = dra_object
|
150
|
-
solr_doc['rights_primary_ssi'] = dra.index_elements[:primary]
|
151
|
-
solr_doc['rights_errors_ssim'] = dra.index_elements[:errors] if dra.index_elements[:errors].size > 0
|
152
|
-
solr_doc['rights_characteristics_ssim'] = dra.index_elements[:terms] if dra.index_elements[:terms].size > 0
|
153
|
-
|
154
|
-
solr_doc['rights_descriptions_ssim'] = [
|
155
|
-
dra.index_elements[:primary],
|
156
|
-
|
157
|
-
(dra.index_elements[:obj_locations_qualified] || []).map do |rights_info|
|
158
|
-
rule_suffix = rights_info[:rule] ? " (#{rights_info[:rule]})" : ''
|
159
|
-
"location: #{rights_info[:location]}#{rule_suffix}"
|
160
|
-
end,
|
161
|
-
(dra.index_elements[:file_locations_qualified] || []).map do |rights_info|
|
162
|
-
rule_suffix = rights_info[:rule] ? " (#{rights_info[:rule]})" : ''
|
163
|
-
"location: #{rights_info[:location]} (file)#{rule_suffix}"
|
164
|
-
end,
|
165
|
-
|
166
|
-
(dra.index_elements[:obj_agents_qualified] || []).map do |rights_info|
|
167
|
-
rule_suffix = rights_info[:rule] ? " (#{rights_info[:rule]})" : ''
|
168
|
-
"agent: #{rights_info[:agent]}#{rule_suffix}"
|
169
|
-
end,
|
170
|
-
(dra.index_elements[:file_agents_qualified] || []).map do |rights_info|
|
171
|
-
rule_suffix = rights_info[:rule] ? " (#{rights_info[:rule]})" : ''
|
172
|
-
"agent: #{rights_info[:agent]} (file)#{rule_suffix}"
|
173
|
-
end,
|
174
|
-
|
175
|
-
(dra.index_elements[:obj_groups_qualified] || []).map do |rights_info|
|
176
|
-
rule_suffix = rights_info[:rule] ? " (#{rights_info[:rule]})" : ''
|
177
|
-
"#{rights_info[:group]}#{rule_suffix}"
|
178
|
-
end,
|
179
|
-
(dra.index_elements[:file_groups_qualified] || []).map do |rights_info|
|
180
|
-
rule_suffix = rights_info[:rule] ? " (#{rights_info[:rule]})" : ''
|
181
|
-
"#{rights_info[:group]} (file)#{rule_suffix}"
|
182
|
-
end,
|
183
|
-
|
184
|
-
(dra.index_elements[:obj_world_qualified] || []).map do |rights_info|
|
185
|
-
rule_suffix = rights_info[:rule] ? " (#{rights_info[:rule]})" : ''
|
186
|
-
"world#{rule_suffix}"
|
187
|
-
end,
|
188
|
-
(dra.index_elements[:file_world_qualified] || []).map do |rights_info|
|
189
|
-
rule_suffix = rights_info[:rule] ? " (#{rights_info[:rule]})" : ''
|
190
|
-
"world (file)#{rule_suffix}"
|
191
|
-
end
|
192
|
-
].flatten.uniq
|
193
|
-
|
194
|
-
# these two values are returned by index_elements[:primary], but are just a less granular version of
|
195
|
-
# what the other more specific fields return, so discard them
|
196
|
-
solr_doc['rights_descriptions_ssim'] -= %w[access_restricted access_restricted_qualified world_qualified]
|
197
|
-
solr_doc['rights_descriptions_ssim'] += ['dark (file)'] if dra.index_elements[:terms].include? 'none_read_file'
|
198
|
-
|
199
|
-
solr_doc['obj_rights_locations_ssim'] = dra.index_elements[:obj_locations] unless dra.index_elements[:obj_locations].blank?
|
200
|
-
solr_doc['file_rights_locations_ssim'] = dra.index_elements[:file_locations] unless dra.index_elements[:file_locations].blank?
|
201
|
-
solr_doc['obj_rights_agents_ssim'] = dra.index_elements[:obj_agents] unless dra.index_elements[:obj_agents].blank?
|
202
|
-
solr_doc['file_rights_agents_ssim'] = dra.index_elements[:file_agents] unless dra.index_elements[:file_agents].blank?
|
203
|
-
|
204
|
-
# suppress empties
|
205
|
-
%w(use_statement_ssim copyright_ssim).each do |key|
|
206
|
-
solr_doc[key] = solr_doc[key].reject(&:blank?).flatten unless solr_doc[key].nil?
|
207
|
-
end
|
208
|
-
add_solr_value(solr_doc, 'use_license_machine', use_license.first, :string, [:stored_sortable])
|
209
|
-
add_solr_value(solr_doc, 'use_licenses_machine', use_license, :symbol, [:stored_searchable])
|
210
|
-
|
211
|
-
solr_doc
|
212
|
-
end
|
213
|
-
|
214
147
|
def use_license
|
215
148
|
use_license = []
|
216
149
|
use_license += Array(creative_commons)
|
@@ -219,11 +152,6 @@ module Dor
|
|
219
152
|
use_license.reject(&:blank?)
|
220
153
|
end
|
221
154
|
|
222
|
-
# maintain AF < 8 indexing behavior
|
223
|
-
def prefix
|
224
|
-
''
|
225
|
-
end
|
226
|
-
|
227
155
|
def rights
|
228
156
|
xml = ng_xml
|
229
157
|
if xml.search('//rightsMetadata/access[@type=\'read\']/machine/group').length == 1
|
@@ -7,7 +7,7 @@ module Dor
|
|
7
7
|
has_metadata name: 'administrativeMetadata', type: Dor::AdministrativeMetadataDS, label: 'Administrative Metadata'
|
8
8
|
has_metadata name: 'roleMetadata', type: Dor::RoleMetadataDS, label: 'Role Metadata'
|
9
9
|
has_metadata name: 'defaultObjectRights', type: Dor::DefaultObjectRightsDS, label: 'Default Object Rights'
|
10
|
-
belongs_to :agreement_object, property: :referencesAgreement, class_name: 'Dor::
|
10
|
+
belongs_to :agreement_object, property: :referencesAgreement, class_name: 'Dor::Agreement'
|
11
11
|
|
12
12
|
delegate :add_roleplayer, :purge_roles, :roles, to: :roleMetadata
|
13
13
|
delegate :mods_title, :mods_title=, to: :descMetadata
|
data/lib/dor/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dor-services
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 9.
|
4
|
+
version: 9.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Klein
|
@@ -20,7 +20,7 @@ authors:
|
|
20
20
|
autorequire:
|
21
21
|
bindir: bin
|
22
22
|
cert_chain: []
|
23
|
-
date: 2020-
|
23
|
+
date: 2020-05-20 00:00:00.000000000 Z
|
24
24
|
dependencies:
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: active-fedora
|
@@ -483,7 +483,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
483
483
|
- !ruby/object:Gem::Version
|
484
484
|
version: 1.3.6
|
485
485
|
requirements: []
|
486
|
-
rubygems_version: 3.0.
|
486
|
+
rubygems_version: 3.0.3
|
487
487
|
signing_key:
|
488
488
|
specification_version: 4
|
489
489
|
summary: Ruby implmentation of DOR services used by the SULAIR Digital Library
|