ddr-core 1.5.4 → 1.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/models/concerns/ddr/has_derived_image.rb +14 -0
- data/app/models/concerns/ddr/solr_document_behavior.rb +28 -40
- data/app/models/ddr/component.rb +1 -0
- data/app/models/ddr/file.rb +1 -1
- data/app/models/ddr/resource.rb +1 -0
- data/lib/ddr/index/fields.rb +2 -2
- metadata +52 -51
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7c2ee6a1a1de8fd86904bc1f067378379972862830e591ad2588c77057666608
|
4
|
+
data.tar.gz: 999d2c0e8710e45fe854bd7b75718dd36f1e2ee01181ffe4af2c34121f49ca70
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4b2a4518977f7a36e6b9959b0f1b5e891f975edf97f8c474bc4f10bfb80646fb8da294bd8c5e03a19a113c31d4ec27ce2423455734b40ecdd0bfb56b3e6ae147
|
7
|
+
data.tar.gz: bed7b8d7fcb879d9763bfbe6b0989c8c0e5b39eea4b0e12120dfa995d731a915b932c95c79b46555db1c3a0daac08a5dbfc65098af2d359b06f4eb711f09860e
|
@@ -5,41 +5,34 @@ module Ddr
|
|
5
5
|
module SolrDocumentBehavior
|
6
6
|
extend ActiveSupport::Concern
|
7
7
|
|
8
|
-
class NotFound < Error; end
|
9
|
-
|
10
8
|
included do
|
11
|
-
|
12
|
-
:resource_factory,
|
13
|
-
to: :metadata_adapter
|
9
|
+
alias_method :pid, :id
|
14
10
|
end
|
15
11
|
|
12
|
+
class NotFound < Error; end
|
13
|
+
|
16
14
|
module ClassMethods
|
17
15
|
def find(id)
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
rescue Blacklight::Exceptions::RecordNotFound => e
|
24
|
-
raise NotFound, e
|
16
|
+
query = Ddr::Index::Query.new { id id }
|
17
|
+
if doc = query.docs.first
|
18
|
+
return doc
|
19
|
+
end
|
20
|
+
raise NotFound, "SolrDocument not found for \"#{id}\"."
|
25
21
|
end
|
26
22
|
|
27
23
|
def find_by_permanent_id(ark)
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
24
|
+
if ark.blank?
|
25
|
+
raise ArgumentError, "ARK argument must be present."
|
26
|
+
end
|
27
|
+
query = Ddr::Index::Query.new do
|
28
|
+
q *:*
|
29
|
+
where permanent_id: ark
|
30
|
+
end
|
31
|
+
if doc = query.docs.first
|
32
|
+
return doc
|
36
33
|
end
|
34
|
+
raise NotFound, "SolrDocument not found for permanent id \"#{ark}\"."
|
37
35
|
end
|
38
|
-
end # ClassMethods
|
39
|
-
|
40
|
-
def pid
|
41
|
-
warn "DEPRECATION: #pid is deprecated. Use #id instead."
|
42
|
-
id
|
43
36
|
end
|
44
37
|
|
45
38
|
def inspect
|
@@ -63,12 +56,8 @@ module Ddr
|
|
63
56
|
super
|
64
57
|
end
|
65
58
|
|
66
|
-
def metadata_adapter
|
67
|
-
Valkyrie::MetadataAdapter.find(:index_solr)
|
68
|
-
end
|
69
|
-
|
70
59
|
def resource
|
71
|
-
@resource ||=
|
60
|
+
@resource ||= Valkyrie::MetadataAdapter.find(:index_solr).query_service.find_by(id: id)
|
72
61
|
end
|
73
62
|
|
74
63
|
def object_create_date
|
@@ -145,7 +134,7 @@ module Ddr
|
|
145
134
|
end
|
146
135
|
|
147
136
|
def targets_count
|
148
|
-
@targets_count
|
137
|
+
@targets_count = targets.count
|
149
138
|
end
|
150
139
|
|
151
140
|
def has_target?
|
@@ -161,7 +150,7 @@ module Ddr
|
|
161
150
|
end
|
162
151
|
|
163
152
|
def roles
|
164
|
-
resource.roles
|
153
|
+
@roles ||= resource.roles
|
165
154
|
end
|
166
155
|
|
167
156
|
def resource_roles
|
@@ -187,14 +176,9 @@ module Ddr
|
|
187
176
|
Ddr::Contact.call(research_help_contact) if research_help_contact
|
188
177
|
end
|
189
178
|
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
# Cf. https://duldev.atlassian.net/browse/DDR-2296
|
194
|
-
#
|
195
|
-
# def parent_id
|
196
|
-
# is_part_of || is_member_of_collection
|
197
|
-
# end
|
179
|
+
def parent_id
|
180
|
+
is_part_of || is_member_of_collection
|
181
|
+
end
|
198
182
|
|
199
183
|
def has_parent?
|
200
184
|
parent_id.present?
|
@@ -323,6 +307,10 @@ module Ddr
|
|
323
307
|
|
324
308
|
private
|
325
309
|
|
310
|
+
def query_service
|
311
|
+
@query_service ||= Valkyrie::MetadataAdapter.find(:index_solr).query_service
|
312
|
+
end
|
313
|
+
|
326
314
|
def get_date(field)
|
327
315
|
parse_date(self[field])
|
328
316
|
end
|
data/app/models/ddr/component.rb
CHANGED
data/app/models/ddr/file.rb
CHANGED
@@ -31,7 +31,7 @@ module Ddr
|
|
31
31
|
# Return default file extension for file based on MIME type
|
32
32
|
def default_file_extension
|
33
33
|
mimetypes = MIME::Types[media_type]
|
34
|
-
return mimetypes.first.
|
34
|
+
return mimetypes.first.preferred_extension unless mimetypes.empty?
|
35
35
|
case media_type
|
36
36
|
when 'application/n-triples'
|
37
37
|
'txt'
|
data/app/models/ddr/resource.rb
CHANGED
data/lib/ddr/index/fields.rb
CHANGED
@@ -37,8 +37,8 @@ module Ddr::Index
|
|
37
37
|
DATE_SORT = Field.new :date_sort, :sortable
|
38
38
|
DC_IS_PART_OF = Field.new :isPartOf, :symbol
|
39
39
|
DEPOSITOR = Field.new :depositor, :stored_sortable
|
40
|
-
# DDR-1997 - description should always be indexed as _tesim regardless of length
|
41
|
-
#
|
40
|
+
# DDR-1997 - description should always be indexed as _tesim regardless of length - Valkyrie indexes fields > 1000
|
41
|
+
# characters in length as _tsim only
|
42
42
|
DESCRIPTION = Field.new :description, :stored_searchable # stored_searchable produces _tesim
|
43
43
|
DISPLAY_FORMAT = Field.new :display_format, :stored_sortable
|
44
44
|
DOI = Field.new :doi, :symbol
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ddr-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.6.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jim Coble
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2021-
|
14
|
+
date: 2021-06-25 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: activeresource
|
@@ -42,35 +42,35 @@ dependencies:
|
|
42
42
|
- !ruby/object:Gem::Version
|
43
43
|
version: '6.20'
|
44
44
|
- !ruby/object:Gem::Dependency
|
45
|
-
name:
|
45
|
+
name: cancancan
|
46
46
|
requirement: !ruby/object:Gem::Requirement
|
47
47
|
requirements:
|
48
|
-
- - "
|
48
|
+
- - "~>"
|
49
49
|
- !ruby/object:Gem::Version
|
50
|
-
version: '
|
50
|
+
version: '1.8'
|
51
51
|
type: :runtime
|
52
52
|
prerelease: false
|
53
53
|
version_requirements: !ruby/object:Gem::Requirement
|
54
54
|
requirements:
|
55
|
-
- - "
|
55
|
+
- - "~>"
|
56
56
|
- !ruby/object:Gem::Version
|
57
|
-
version: '
|
57
|
+
version: '1.8'
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
|
-
name:
|
59
|
+
name: devise
|
60
60
|
requirement: !ruby/object:Gem::Requirement
|
61
61
|
requirements:
|
62
62
|
- - "~>"
|
63
63
|
- !ruby/object:Gem::Version
|
64
|
-
version:
|
64
|
+
version: '4.6'
|
65
65
|
type: :runtime
|
66
66
|
prerelease: false
|
67
67
|
version_requirements: !ruby/object:Gem::Requirement
|
68
68
|
requirements:
|
69
69
|
- - "~>"
|
70
70
|
- !ruby/object:Gem::Version
|
71
|
-
version:
|
71
|
+
version: '4.6'
|
72
72
|
- !ruby/object:Gem::Dependency
|
73
|
-
name:
|
73
|
+
name: grouper-rest-client
|
74
74
|
requirement: !ruby/object:Gem::Requirement
|
75
75
|
requirements:
|
76
76
|
- - ">="
|
@@ -84,35 +84,35 @@ dependencies:
|
|
84
84
|
- !ruby/object:Gem::Version
|
85
85
|
version: '0'
|
86
86
|
- !ruby/object:Gem::Dependency
|
87
|
-
name:
|
87
|
+
name: net-ldap
|
88
88
|
requirement: !ruby/object:Gem::Requirement
|
89
89
|
requirements:
|
90
|
-
- - "
|
90
|
+
- - ">="
|
91
91
|
- !ruby/object:Gem::Version
|
92
|
-
version: '
|
92
|
+
version: '0'
|
93
93
|
type: :runtime
|
94
94
|
prerelease: false
|
95
95
|
version_requirements: !ruby/object:Gem::Requirement
|
96
96
|
requirements:
|
97
|
-
- - "
|
97
|
+
- - ">="
|
98
98
|
- !ruby/object:Gem::Version
|
99
|
-
version: '
|
99
|
+
version: '0'
|
100
100
|
- !ruby/object:Gem::Dependency
|
101
|
-
name:
|
101
|
+
name: omniauth-shibboleth
|
102
102
|
requirement: !ruby/object:Gem::Requirement
|
103
103
|
requirements:
|
104
|
-
- - "
|
104
|
+
- - "~>"
|
105
105
|
- !ruby/object:Gem::Version
|
106
|
-
version: '
|
106
|
+
version: '1.3'
|
107
107
|
type: :runtime
|
108
108
|
prerelease: false
|
109
109
|
version_requirements: !ruby/object:Gem::Requirement
|
110
110
|
requirements:
|
111
|
-
- - "
|
111
|
+
- - "~>"
|
112
112
|
- !ruby/object:Gem::Version
|
113
|
-
version: '
|
113
|
+
version: '1.3'
|
114
114
|
- !ruby/object:Gem::Dependency
|
115
|
-
name:
|
115
|
+
name: pg
|
116
116
|
requirement: !ruby/object:Gem::Requirement
|
117
117
|
requirements:
|
118
118
|
- - ">="
|
@@ -126,35 +126,35 @@ dependencies:
|
|
126
126
|
- !ruby/object:Gem::Version
|
127
127
|
version: '0'
|
128
128
|
- !ruby/object:Gem::Dependency
|
129
|
-
name:
|
129
|
+
name: rails
|
130
130
|
requirement: !ruby/object:Gem::Requirement
|
131
131
|
requirements:
|
132
132
|
- - "~>"
|
133
133
|
- !ruby/object:Gem::Version
|
134
|
-
version:
|
134
|
+
version: 5.2.2
|
135
135
|
type: :runtime
|
136
136
|
prerelease: false
|
137
137
|
version_requirements: !ruby/object:Gem::Requirement
|
138
138
|
requirements:
|
139
139
|
- - "~>"
|
140
140
|
- !ruby/object:Gem::Version
|
141
|
-
version:
|
141
|
+
version: 5.2.2
|
142
142
|
- !ruby/object:Gem::Dependency
|
143
|
-
name:
|
143
|
+
name: rdf-rdfxml
|
144
144
|
requirement: !ruby/object:Gem::Requirement
|
145
145
|
requirements:
|
146
|
-
- - "
|
146
|
+
- - ">="
|
147
147
|
- !ruby/object:Gem::Version
|
148
|
-
version: '
|
148
|
+
version: '0'
|
149
149
|
type: :runtime
|
150
150
|
prerelease: false
|
151
151
|
version_requirements: !ruby/object:Gem::Requirement
|
152
152
|
requirements:
|
153
|
-
- - "
|
153
|
+
- - ">="
|
154
154
|
- !ruby/object:Gem::Version
|
155
|
-
version: '
|
155
|
+
version: '0'
|
156
156
|
- !ruby/object:Gem::Dependency
|
157
|
-
name:
|
157
|
+
name: rsolr
|
158
158
|
requirement: !ruby/object:Gem::Requirement
|
159
159
|
requirements:
|
160
160
|
- - ">="
|
@@ -168,47 +168,47 @@ dependencies:
|
|
168
168
|
- !ruby/object:Gem::Version
|
169
169
|
version: '0'
|
170
170
|
- !ruby/object:Gem::Dependency
|
171
|
-
name:
|
171
|
+
name: solrizer
|
172
172
|
requirement: !ruby/object:Gem::Requirement
|
173
173
|
requirements:
|
174
|
-
- - "
|
174
|
+
- - ">="
|
175
175
|
- !ruby/object:Gem::Version
|
176
|
-
version:
|
176
|
+
version: '0'
|
177
177
|
type: :runtime
|
178
178
|
prerelease: false
|
179
179
|
version_requirements: !ruby/object:Gem::Requirement
|
180
180
|
requirements:
|
181
|
-
- - "
|
181
|
+
- - ">="
|
182
182
|
- !ruby/object:Gem::Version
|
183
|
-
version:
|
183
|
+
version: '0'
|
184
184
|
- !ruby/object:Gem::Dependency
|
185
|
-
name:
|
185
|
+
name: valkyrie
|
186
186
|
requirement: !ruby/object:Gem::Requirement
|
187
187
|
requirements:
|
188
|
-
- - "
|
188
|
+
- - "~>"
|
189
189
|
- !ruby/object:Gem::Version
|
190
|
-
version: '
|
190
|
+
version: '2.1'
|
191
191
|
type: :runtime
|
192
192
|
prerelease: false
|
193
193
|
version_requirements: !ruby/object:Gem::Requirement
|
194
194
|
requirements:
|
195
|
-
- - "
|
195
|
+
- - "~>"
|
196
196
|
- !ruby/object:Gem::Version
|
197
|
-
version: '
|
197
|
+
version: '2.1'
|
198
198
|
- !ruby/object:Gem::Dependency
|
199
|
-
name:
|
199
|
+
name: virtus
|
200
200
|
requirement: !ruby/object:Gem::Requirement
|
201
201
|
requirements:
|
202
|
-
- - "
|
202
|
+
- - "~>"
|
203
203
|
- !ruby/object:Gem::Version
|
204
|
-
version:
|
204
|
+
version: 1.0.5
|
205
205
|
type: :runtime
|
206
206
|
prerelease: false
|
207
207
|
version_requirements: !ruby/object:Gem::Requirement
|
208
208
|
requirements:
|
209
|
-
- - "
|
209
|
+
- - "~>"
|
210
210
|
- !ruby/object:Gem::Version
|
211
|
-
version:
|
211
|
+
version: 1.0.5
|
212
212
|
- !ruby/object:Gem::Dependency
|
213
213
|
name: equivalent-xml
|
214
214
|
requirement: !ruby/object:Gem::Requirement
|
@@ -238,7 +238,7 @@ dependencies:
|
|
238
238
|
- !ruby/object:Gem::Version
|
239
239
|
version: '0'
|
240
240
|
- !ruby/object:Gem::Dependency
|
241
|
-
name:
|
241
|
+
name: rails-controller-testing
|
242
242
|
requirement: !ruby/object:Gem::Requirement
|
243
243
|
requirements:
|
244
244
|
- - ">="
|
@@ -252,7 +252,7 @@ dependencies:
|
|
252
252
|
- !ruby/object:Gem::Version
|
253
253
|
version: '0'
|
254
254
|
- !ruby/object:Gem::Dependency
|
255
|
-
name: rspec-
|
255
|
+
name: rspec-its
|
256
256
|
requirement: !ruby/object:Gem::Requirement
|
257
257
|
requirements:
|
258
258
|
- - ">="
|
@@ -266,7 +266,7 @@ dependencies:
|
|
266
266
|
- !ruby/object:Gem::Version
|
267
267
|
version: '0'
|
268
268
|
- !ruby/object:Gem::Dependency
|
269
|
-
name:
|
269
|
+
name: rspec-rails
|
270
270
|
requirement: !ruby/object:Gem::Requirement
|
271
271
|
requirements:
|
272
272
|
- - ">="
|
@@ -280,7 +280,7 @@ dependencies:
|
|
280
280
|
- !ruby/object:Gem::Version
|
281
281
|
version: '0'
|
282
282
|
- !ruby/object:Gem::Dependency
|
283
|
-
name:
|
283
|
+
name: solr_wrapper
|
284
284
|
requirement: !ruby/object:Gem::Requirement
|
285
285
|
requirements:
|
286
286
|
- - ">="
|
@@ -313,6 +313,7 @@ files:
|
|
313
313
|
- app/models/concerns/ddr/has_attachments.rb
|
314
314
|
- app/models/concerns/ddr/has_children.rb
|
315
315
|
- app/models/concerns/ddr/has_content.rb
|
316
|
+
- app/models/concerns/ddr/has_derived_image.rb
|
316
317
|
- app/models/concerns/ddr/has_extracted_text.rb
|
317
318
|
- app/models/concerns/ddr/has_intermediate_file.rb
|
318
319
|
- app/models/concerns/ddr/has_multires_image.rb
|
@@ -454,7 +455,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
454
455
|
- !ruby/object:Gem::Version
|
455
456
|
version: '0'
|
456
457
|
requirements: []
|
457
|
-
rubygems_version: 3.2.
|
458
|
+
rubygems_version: 3.2.21
|
458
459
|
signing_key:
|
459
460
|
specification_version: 4
|
460
461
|
summary: Models used in the Duke Digital Repository
|