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: 5015214a6f687ad0a64a9ea35914ac2984cf7efbd16cf7e60baea93f306d4d2f
4
- data.tar.gz: 279ee95befcb33f476fde1d5f159c8a45b4b6d3333ef367a444bc6a076900401
3
+ metadata.gz: 496d07425ebd926eb69390d391aae0adfa646e365559152389b6ab75bd8c6f83
4
+ data.tar.gz: d76539bcc0b0516998343292cde5679071cb4cab7e8e7b6c3838801ac8158dfa
5
5
  SHA512:
6
- metadata.gz: 466bea3e00aad80400d0e7be95c28275a1396be4ba139fed6f1b41f6d7f19edd1976dbc7f091ff1ecfd101276d491ebb48a9b91069889a845abed9a438094eaa
7
- data.tar.gz: f34079d71a227261b7d9d587b9501ff4fc537adada8a69c0b520bd002f0fde2737e0e632b376b2f191bb527d875887bbda0536ca0b6f95b9835273f1e2f6df08
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::Item'
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Dor
4
- VERSION = '9.3.0'
4
+ VERSION = '9.4.0'
5
5
  end
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.3.0
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-04-23 00:00:00.000000000 Z
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.8
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