hydra-works 0.0.1 → 0.1.0
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/.gitignore +3 -1
- data/.travis.yml +2 -5
- data/Gemfile +1 -3
- data/README.md +28 -13
- data/hydra-works.gemspec +4 -3
- data/lib/hydra/works.rb +7 -57
- data/lib/hydra/works/models/concerns/block_child_objects.rb +16 -0
- data/lib/hydra/works/models/concerns/collection_behavior.rb +27 -2
- data/lib/hydra/works/models/concerns/generic_file/contained_files.rb +5 -13
- data/lib/hydra/works/models/concerns/generic_file/derivatives.rb +9 -13
- data/lib/hydra/works/models/concerns/generic_file/mime_types.rb +14 -9
- data/lib/hydra/works/models/concerns/generic_file/versioned_content.rb +18 -0
- data/lib/hydra/works/models/concerns/generic_file/virus_check.rb +48 -0
- data/lib/hydra/works/models/concerns/generic_file_behavior.rb +24 -1
- data/lib/hydra/works/models/concerns/generic_work_behavior.rb +32 -3
- data/lib/hydra/works/models/generic_file.rb +3 -0
- data/lib/hydra/works/services/generic_file/add_file_to_generic_file.rb +127 -0
- data/lib/hydra/works/services/generic_file/generate/thumbnail.rb +1 -2
- data/lib/hydra/works/services/generic_file/persist_derivative.rb +22 -0
- data/lib/hydra/works/services/generic_file/upload_file.rb +11 -19
- data/lib/hydra/works/version.rb +1 -1
- data/lib/hydra/works/vocab/works_terms.rb +1 -1
- data/spec/fixtures/Example.ogg +0 -0
- data/spec/fixtures/charter.docx +0 -0
- data/spec/fixtures/countdown.avi +0 -0
- data/spec/fixtures/image.jp2 +0 -0
- data/spec/fixtures/piano_note.wav +0 -0
- data/spec/fixtures/test5.mp3 +0 -0
- data/spec/fixtures/world.png +0 -0
- data/spec/hydra/works/models/collection_spec.rb +499 -16
- data/spec/hydra/works/models/concerns/block_child_objects_spec.rb +19 -0
- data/spec/hydra/works/models/concerns/{file → generic_file}/contained_files_spec.rb +20 -17
- data/spec/hydra/works/models/concerns/generic_file/mime_types_spec.rb +76 -0
- data/spec/hydra/works/models/concerns/generic_file/versioned_content_spec.rb +32 -0
- data/spec/hydra/works/models/concerns/generic_file/virus_check_spec.rb +50 -0
- data/spec/hydra/works/models/concerns/generic_file_behavior_spec.rb +1 -1
- data/spec/hydra/works/models/generic_file_spec.rb +201 -14
- data/spec/hydra/works/models/generic_work_spec.rb +530 -14
- data/spec/hydra/works/services/generic_file/add_file_to_generic_file_spec.rb +110 -0
- data/spec/hydra/works/services/generic_file/upload_file_spec.rb +45 -28
- data/spec/hydra/works/services/persist_derivatives_spec.rb +93 -0
- data/spec/hydra/works_spec.rb +35 -35
- data/spec/spec_helper.rb +6 -0
- metadata +56 -95
- data/lib/hydra/works/models/concerns/aggregates_collections.rb +0 -16
- data/lib/hydra/works/models/concerns/aggregates_generic_files.rb +0 -20
- data/lib/hydra/works/models/concerns/aggregates_generic_works.rb +0 -20
- data/lib/hydra/works/processor.rb +0 -9
- data/lib/hydra/works/services/collection/add_collection.rb +0 -19
- data/lib/hydra/works/services/collection/add_generic_work.rb +0 -19
- data/lib/hydra/works/services/collection/add_related_object.rb +0 -19
- data/lib/hydra/works/services/collection/get_collections.rb +0 -17
- data/lib/hydra/works/services/collection/get_generic_works.rb +0 -17
- data/lib/hydra/works/services/collection/get_related_objects.rb +0 -17
- data/lib/hydra/works/services/collection/remove_collection.rb +0 -19
- data/lib/hydra/works/services/collection/remove_generic_work.rb +0 -20
- data/lib/hydra/works/services/collection/remove_related_object.rb +0 -19
- data/lib/hydra/works/services/generic_file/add_file.rb +0 -55
- data/lib/hydra/works/services/generic_file/add_generic_file.rb +0 -19
- data/lib/hydra/works/services/generic_file/add_original_file.rb +0 -11
- data/lib/hydra/works/services/generic_file/add_related_object.rb +0 -19
- data/lib/hydra/works/services/generic_file/add_versioned_original_file.rb +0 -10
- data/lib/hydra/works/services/generic_file/get_generic_files.rb +0 -17
- data/lib/hydra/works/services/generic_file/get_related_objects.rb +0 -17
- data/lib/hydra/works/services/generic_file/remove_generic_file.rb +0 -20
- data/lib/hydra/works/services/generic_file/remove_related_object.rb +0 -19
- data/lib/hydra/works/services/generic_work/add_generic_file.rb +0 -19
- data/lib/hydra/works/services/generic_work/add_generic_work.rb +0 -19
- data/lib/hydra/works/services/generic_work/add_related_object.rb +0 -19
- data/lib/hydra/works/services/generic_work/get_generic_files.rb +0 -17
- data/lib/hydra/works/services/generic_work/get_generic_works.rb +0 -17
- data/lib/hydra/works/services/generic_work/get_related_objects.rb +0 -17
- data/lib/hydra/works/services/generic_work/move_generic_file.rb +0 -19
- data/lib/hydra/works/services/generic_work/remove_generic_file.rb +0 -20
- data/lib/hydra/works/services/generic_work/remove_generic_work.rb +0 -20
- data/lib/hydra/works/services/generic_work/remove_related_object.rb +0 -19
- data/spec/hydra/works/services/collection/add_collection_spec.rb +0 -166
- data/spec/hydra/works/services/collection/add_generic_work_spec.rb +0 -155
- data/spec/hydra/works/services/collection/add_related_object_spec.rb +0 -149
- data/spec/hydra/works/services/collection/get_collections_spec.rb +0 -35
- data/spec/hydra/works/services/collection/get_generic_works_spec.rb +0 -35
- data/spec/hydra/works/services/collection/get_related_objects_spec.rb +0 -49
- data/spec/hydra/works/services/collection/remove_collection_spec.rb +0 -133
- data/spec/hydra/works/services/collection/remove_generic_work_spec.rb +0 -133
- data/spec/hydra/works/services/collection/remove_related_object_spec.rb +0 -128
- data/spec/hydra/works/services/generic_file/add_file_spec.rb +0 -28
- data/spec/hydra/works/services/generic_file/add_generic_file_spec.rb +0 -174
- data/spec/hydra/works/services/generic_file/add_related_object_spec.rb +0 -150
- data/spec/hydra/works/services/generic_file/get_generic_files_spec.rb +0 -19
- data/spec/hydra/works/services/generic_file/get_related_objects_spec.rb +0 -45
- data/spec/hydra/works/services/generic_file/remove_generic_file_spec.rb +0 -124
- data/spec/hydra/works/services/generic_file/remove_related_object_spec.rb +0 -123
- data/spec/hydra/works/services/generic_work/add_generic_file_spec.rb +0 -156
- data/spec/hydra/works/services/generic_work/add_generic_work_spec.rb +0 -157
- data/spec/hydra/works/services/generic_work/add_related_object_spec.rb +0 -148
- data/spec/hydra/works/services/generic_work/get_generic_files_spec.rb +0 -35
- data/spec/hydra/works/services/generic_work/get_generic_works_spec.rb +0 -35
- data/spec/hydra/works/services/generic_work/get_related_objects_spec.rb +0 -46
- data/spec/hydra/works/services/generic_work/move_generic_file_spec.rb +0 -21
- data/spec/hydra/works/services/generic_work/remove_generic_file_spec.rb +0 -132
- data/spec/hydra/works/services/generic_work/remove_generic_work_spec.rb +0 -133
- data/spec/hydra/works/services/generic_work/remove_related_object_spec.rb +0 -128
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hydra-works
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Justin Coyne
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-08-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: hydra-pcdm
|
@@ -16,42 +16,56 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: '0.1'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.
|
26
|
+
version: '0.1'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: hydra-derivatives
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: '2.0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: '2.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: activefedora-aggregation
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.
|
47
|
+
version: '0.4'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0.
|
54
|
+
version: '0.4'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: active-fedora
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '9.2'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '9.2'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: bundler
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -184,85 +198,45 @@ files:
|
|
184
198
|
- hydra-works.gemspec
|
185
199
|
- lib/hydra/works.rb
|
186
200
|
- lib/hydra/works/models/collection.rb
|
187
|
-
- lib/hydra/works/models/concerns/
|
188
|
-
- lib/hydra/works/models/concerns/aggregates_generic_files.rb
|
189
|
-
- lib/hydra/works/models/concerns/aggregates_generic_works.rb
|
201
|
+
- lib/hydra/works/models/concerns/block_child_objects.rb
|
190
202
|
- lib/hydra/works/models/concerns/collection_behavior.rb
|
191
203
|
- lib/hydra/works/models/concerns/generic_file/contained_files.rb
|
192
204
|
- lib/hydra/works/models/concerns/generic_file/derivatives.rb
|
193
205
|
- lib/hydra/works/models/concerns/generic_file/mime_types.rb
|
206
|
+
- lib/hydra/works/models/concerns/generic_file/versioned_content.rb
|
207
|
+
- lib/hydra/works/models/concerns/generic_file/virus_check.rb
|
194
208
|
- lib/hydra/works/models/concerns/generic_file_behavior.rb
|
195
209
|
- lib/hydra/works/models/concerns/generic_work_behavior.rb
|
196
210
|
- lib/hydra/works/models/generic_file.rb
|
197
211
|
- lib/hydra/works/models/generic_work.rb
|
198
|
-
- lib/hydra/works/
|
199
|
-
- lib/hydra/works/services/collection/add_collection.rb
|
200
|
-
- lib/hydra/works/services/collection/add_generic_work.rb
|
201
|
-
- lib/hydra/works/services/collection/add_related_object.rb
|
202
|
-
- lib/hydra/works/services/collection/get_collections.rb
|
203
|
-
- lib/hydra/works/services/collection/get_generic_works.rb
|
204
|
-
- lib/hydra/works/services/collection/get_related_objects.rb
|
205
|
-
- lib/hydra/works/services/collection/remove_collection.rb
|
206
|
-
- lib/hydra/works/services/collection/remove_generic_work.rb
|
207
|
-
- lib/hydra/works/services/collection/remove_related_object.rb
|
208
|
-
- lib/hydra/works/services/generic_file/add_file.rb
|
209
|
-
- lib/hydra/works/services/generic_file/add_generic_file.rb
|
210
|
-
- lib/hydra/works/services/generic_file/add_original_file.rb
|
211
|
-
- lib/hydra/works/services/generic_file/add_related_object.rb
|
212
|
-
- lib/hydra/works/services/generic_file/add_versioned_original_file.rb
|
212
|
+
- lib/hydra/works/services/generic_file/add_file_to_generic_file.rb
|
213
213
|
- lib/hydra/works/services/generic_file/generate/thumbnail.rb
|
214
|
-
- lib/hydra/works/services/generic_file/
|
215
|
-
- lib/hydra/works/services/generic_file/get_related_objects.rb
|
216
|
-
- lib/hydra/works/services/generic_file/remove_generic_file.rb
|
217
|
-
- lib/hydra/works/services/generic_file/remove_related_object.rb
|
214
|
+
- lib/hydra/works/services/generic_file/persist_derivative.rb
|
218
215
|
- lib/hydra/works/services/generic_file/upload_file.rb
|
219
|
-
- lib/hydra/works/services/generic_work/add_generic_file.rb
|
220
|
-
- lib/hydra/works/services/generic_work/add_generic_work.rb
|
221
|
-
- lib/hydra/works/services/generic_work/add_related_object.rb
|
222
|
-
- lib/hydra/works/services/generic_work/get_generic_files.rb
|
223
|
-
- lib/hydra/works/services/generic_work/get_generic_works.rb
|
224
|
-
- lib/hydra/works/services/generic_work/get_related_objects.rb
|
225
|
-
- lib/hydra/works/services/generic_work/move_generic_file.rb
|
226
|
-
- lib/hydra/works/services/generic_work/remove_generic_file.rb
|
227
|
-
- lib/hydra/works/services/generic_work/remove_generic_work.rb
|
228
|
-
- lib/hydra/works/services/generic_work/remove_related_object.rb
|
229
216
|
- lib/hydra/works/version.rb
|
230
217
|
- lib/hydra/works/vocab/works_terms.rb
|
218
|
+
- spec/fixtures/Example.ogg
|
219
|
+
- spec/fixtures/charter.docx
|
220
|
+
- spec/fixtures/countdown.avi
|
221
|
+
- spec/fixtures/image.jp2
|
222
|
+
- spec/fixtures/piano_note.wav
|
231
223
|
- spec/fixtures/sample-file.pdf
|
224
|
+
- spec/fixtures/test5.mp3
|
232
225
|
- spec/fixtures/updated-file.txt
|
226
|
+
- spec/fixtures/world.png
|
233
227
|
- spec/hydra/works/models/collection_spec.rb
|
234
|
-
- spec/hydra/works/models/concerns/
|
228
|
+
- spec/hydra/works/models/concerns/block_child_objects_spec.rb
|
229
|
+
- spec/hydra/works/models/concerns/generic_file/contained_files_spec.rb
|
230
|
+
- spec/hydra/works/models/concerns/generic_file/mime_types_spec.rb
|
231
|
+
- spec/hydra/works/models/concerns/generic_file/versioned_content_spec.rb
|
232
|
+
- spec/hydra/works/models/concerns/generic_file/virus_check_spec.rb
|
235
233
|
- spec/hydra/works/models/concerns/generic_file_behavior_spec.rb
|
236
234
|
- spec/hydra/works/models/generic_file_spec.rb
|
237
235
|
- spec/hydra/works/models/generic_work_spec.rb
|
238
|
-
- spec/hydra/works/services/
|
239
|
-
- spec/hydra/works/services/collection/add_generic_work_spec.rb
|
240
|
-
- spec/hydra/works/services/collection/add_related_object_spec.rb
|
241
|
-
- spec/hydra/works/services/collection/get_collections_spec.rb
|
242
|
-
- spec/hydra/works/services/collection/get_generic_works_spec.rb
|
243
|
-
- spec/hydra/works/services/collection/get_related_objects_spec.rb
|
244
|
-
- spec/hydra/works/services/collection/remove_collection_spec.rb
|
245
|
-
- spec/hydra/works/services/collection/remove_generic_work_spec.rb
|
246
|
-
- spec/hydra/works/services/collection/remove_related_object_spec.rb
|
247
|
-
- spec/hydra/works/services/generic_file/add_file_spec.rb
|
248
|
-
- spec/hydra/works/services/generic_file/add_generic_file_spec.rb
|
249
|
-
- spec/hydra/works/services/generic_file/add_related_object_spec.rb
|
236
|
+
- spec/hydra/works/services/generic_file/add_file_to_generic_file_spec.rb
|
250
237
|
- spec/hydra/works/services/generic_file/generate/thumbnail_spec.rb
|
251
|
-
- spec/hydra/works/services/generic_file/get_generic_files_spec.rb
|
252
|
-
- spec/hydra/works/services/generic_file/get_related_objects_spec.rb
|
253
|
-
- spec/hydra/works/services/generic_file/remove_generic_file_spec.rb
|
254
|
-
- spec/hydra/works/services/generic_file/remove_related_object_spec.rb
|
255
238
|
- spec/hydra/works/services/generic_file/upload_file_spec.rb
|
256
|
-
- spec/hydra/works/services/
|
257
|
-
- spec/hydra/works/services/generic_work/add_generic_work_spec.rb
|
258
|
-
- spec/hydra/works/services/generic_work/add_related_object_spec.rb
|
259
|
-
- spec/hydra/works/services/generic_work/get_generic_files_spec.rb
|
260
|
-
- spec/hydra/works/services/generic_work/get_generic_works_spec.rb
|
261
|
-
- spec/hydra/works/services/generic_work/get_related_objects_spec.rb
|
262
|
-
- spec/hydra/works/services/generic_work/move_generic_file_spec.rb
|
263
|
-
- spec/hydra/works/services/generic_work/remove_generic_file_spec.rb
|
264
|
-
- spec/hydra/works/services/generic_work/remove_generic_work_spec.rb
|
265
|
-
- spec/hydra/works/services/generic_work/remove_related_object_spec.rb
|
239
|
+
- spec/hydra/works/services/persist_derivatives_spec.rb
|
266
240
|
- spec/hydra/works_spec.rb
|
267
241
|
- spec/spec_helper.rb
|
268
242
|
- use-cases/conference_event_use_case.md
|
@@ -294,45 +268,32 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
294
268
|
version: '0'
|
295
269
|
requirements: []
|
296
270
|
rubyforge_project:
|
297
|
-
rubygems_version: 2.4.
|
271
|
+
rubygems_version: 2.4.8
|
298
272
|
signing_key:
|
299
273
|
specification_version: 4
|
300
274
|
summary: Fundamental repository data model for hydra
|
301
275
|
test_files:
|
276
|
+
- spec/fixtures/Example.ogg
|
277
|
+
- spec/fixtures/charter.docx
|
278
|
+
- spec/fixtures/countdown.avi
|
279
|
+
- spec/fixtures/image.jp2
|
280
|
+
- spec/fixtures/piano_note.wav
|
302
281
|
- spec/fixtures/sample-file.pdf
|
282
|
+
- spec/fixtures/test5.mp3
|
303
283
|
- spec/fixtures/updated-file.txt
|
284
|
+
- spec/fixtures/world.png
|
304
285
|
- spec/hydra/works/models/collection_spec.rb
|
305
|
-
- spec/hydra/works/models/concerns/
|
286
|
+
- spec/hydra/works/models/concerns/block_child_objects_spec.rb
|
287
|
+
- spec/hydra/works/models/concerns/generic_file/contained_files_spec.rb
|
288
|
+
- spec/hydra/works/models/concerns/generic_file/mime_types_spec.rb
|
289
|
+
- spec/hydra/works/models/concerns/generic_file/versioned_content_spec.rb
|
290
|
+
- spec/hydra/works/models/concerns/generic_file/virus_check_spec.rb
|
306
291
|
- spec/hydra/works/models/concerns/generic_file_behavior_spec.rb
|
307
292
|
- spec/hydra/works/models/generic_file_spec.rb
|
308
293
|
- spec/hydra/works/models/generic_work_spec.rb
|
309
|
-
- spec/hydra/works/services/
|
310
|
-
- spec/hydra/works/services/collection/add_generic_work_spec.rb
|
311
|
-
- spec/hydra/works/services/collection/add_related_object_spec.rb
|
312
|
-
- spec/hydra/works/services/collection/get_collections_spec.rb
|
313
|
-
- spec/hydra/works/services/collection/get_generic_works_spec.rb
|
314
|
-
- spec/hydra/works/services/collection/get_related_objects_spec.rb
|
315
|
-
- spec/hydra/works/services/collection/remove_collection_spec.rb
|
316
|
-
- spec/hydra/works/services/collection/remove_generic_work_spec.rb
|
317
|
-
- spec/hydra/works/services/collection/remove_related_object_spec.rb
|
318
|
-
- spec/hydra/works/services/generic_file/add_file_spec.rb
|
319
|
-
- spec/hydra/works/services/generic_file/add_generic_file_spec.rb
|
320
|
-
- spec/hydra/works/services/generic_file/add_related_object_spec.rb
|
294
|
+
- spec/hydra/works/services/generic_file/add_file_to_generic_file_spec.rb
|
321
295
|
- spec/hydra/works/services/generic_file/generate/thumbnail_spec.rb
|
322
|
-
- spec/hydra/works/services/generic_file/get_generic_files_spec.rb
|
323
|
-
- spec/hydra/works/services/generic_file/get_related_objects_spec.rb
|
324
|
-
- spec/hydra/works/services/generic_file/remove_generic_file_spec.rb
|
325
|
-
- spec/hydra/works/services/generic_file/remove_related_object_spec.rb
|
326
296
|
- spec/hydra/works/services/generic_file/upload_file_spec.rb
|
327
|
-
- spec/hydra/works/services/
|
328
|
-
- spec/hydra/works/services/generic_work/add_generic_work_spec.rb
|
329
|
-
- spec/hydra/works/services/generic_work/add_related_object_spec.rb
|
330
|
-
- spec/hydra/works/services/generic_work/get_generic_files_spec.rb
|
331
|
-
- spec/hydra/works/services/generic_work/get_generic_works_spec.rb
|
332
|
-
- spec/hydra/works/services/generic_work/get_related_objects_spec.rb
|
333
|
-
- spec/hydra/works/services/generic_work/move_generic_file_spec.rb
|
334
|
-
- spec/hydra/works/services/generic_work/remove_generic_file_spec.rb
|
335
|
-
- spec/hydra/works/services/generic_work/remove_generic_work_spec.rb
|
336
|
-
- spec/hydra/works/services/generic_work/remove_related_object_spec.rb
|
297
|
+
- spec/hydra/works/services/persist_derivatives_spec.rb
|
337
298
|
- spec/hydra/works_spec.rb
|
338
299
|
- spec/spec_helper.rb
|
@@ -1,16 +0,0 @@
|
|
1
|
-
module Hydra::Works
|
2
|
-
# Allows instances of a class to aggregate (pcdm:hasMember) hydra-works collections
|
3
|
-
module AggregatesCollections
|
4
|
-
|
5
|
-
def collections= collections
|
6
|
-
raise ArgumentError, "each collection must be a hydra works collection" unless collections.all? { |c| Hydra::Works.collection? c }
|
7
|
-
raise ArgumentError, "a collection can't be an ancestor of itself" if collection_ancestor?(collections)
|
8
|
-
self.members = self.generic_works + collections
|
9
|
-
end
|
10
|
-
|
11
|
-
def collections
|
12
|
-
members.to_a.select { |m| Hydra::Works.collection? m }
|
13
|
-
end
|
14
|
-
|
15
|
-
end
|
16
|
-
end
|
@@ -1,20 +0,0 @@
|
|
1
|
-
module Hydra::Works
|
2
|
-
# Allows instances of a class to aggregate (pcdm:hasMember) hydra-works generic files
|
3
|
-
module AggregatesGenericFiles
|
4
|
-
|
5
|
-
def generic_files= generic_files
|
6
|
-
raise ArgumentError, "each generic_file must be a hydra works generic file" unless generic_files.all? { |w| Hydra::Works.generic_file? w }
|
7
|
-
raise ArgumentError, "a generic file can't be an ancestor of itself" if object_ancestor?(generic_files)
|
8
|
-
if self.respond_to?(:generic_works)
|
9
|
-
self.members = self.generic_works + generic_files
|
10
|
-
else
|
11
|
-
self.members = generic_files
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
def generic_files
|
16
|
-
members.to_a.select { |m| Hydra::Works.generic_file? m }
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
end
|
@@ -1,20 +0,0 @@
|
|
1
|
-
module Hydra::Works
|
2
|
-
# Allows instances of a class to aggregate (pcdm:hasMember) hydra-works generic works
|
3
|
-
module AggregatesGenericWorks
|
4
|
-
|
5
|
-
def generic_works= generic_works
|
6
|
-
raise ArgumentError, "each generic_work must be a hydra works generic work" unless generic_works.all? { |w| Hydra::Works.generic_work? w }
|
7
|
-
raise ArgumentError, "a generic work can't be an ancestor of itself" if self.respond_to?(:object_ancestor?) && object_ancestor?(generic_works)
|
8
|
-
if self.respond_to?(:generic_files)
|
9
|
-
self.members = self.generic_files + generic_works
|
10
|
-
else
|
11
|
-
self.members = generic_works
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
def generic_works
|
16
|
-
members.to_a.select { |m| Hydra::Works.generic_work? m }
|
17
|
-
end
|
18
|
-
|
19
|
-
end
|
20
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
module Hydra::Works
|
2
|
-
class AddCollectionToCollection
|
3
|
-
|
4
|
-
##
|
5
|
-
# Add a collection to a collection.
|
6
|
-
#
|
7
|
-
# @param [Hydra::Works::Collection] :parent_collection to which to add collection
|
8
|
-
# @param [Hydra::Works::Collection] :child_collection being added
|
9
|
-
#
|
10
|
-
# @return [Hydra::Works::Collection] the updated hydra works collection
|
11
|
-
|
12
|
-
def self.call( parent_collection, child_collection )
|
13
|
-
raise ArgumentError, 'parent_collection must be a hydra-works collection' unless Hydra::Works.collection? parent_collection
|
14
|
-
raise ArgumentError, 'child_collection must be a hydra-works collection' unless Hydra::Works.collection? child_collection
|
15
|
-
Hydra::PCDM::AddCollectionToCollection.call( parent_collection, child_collection )
|
16
|
-
end
|
17
|
-
|
18
|
-
end
|
19
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
module Hydra::Works
|
2
|
-
class AddGenericWorkToCollection
|
3
|
-
|
4
|
-
##
|
5
|
-
# Add a generic_work to a collection.
|
6
|
-
#
|
7
|
-
# @param [Hydra::Works::Collection] :parent_collection to which to add generic_work
|
8
|
-
# @param [Hydra::Works::GenericWork::Base] :child_generic_work being added
|
9
|
-
#
|
10
|
-
# @return [Hydra::Works::Collection] the updated hydra works collection
|
11
|
-
|
12
|
-
def self.call( parent_collection, child_generic_work )
|
13
|
-
raise ArgumentError, 'parent_collection must be a hydra-works collection' unless Hydra::Works.collection? parent_collection
|
14
|
-
raise ArgumentError, 'child_generic_work must be a hydra-works generic work' unless Hydra::Works.generic_work? child_generic_work
|
15
|
-
Hydra::PCDM::AddObjectToCollection.call( parent_collection, child_generic_work )
|
16
|
-
end
|
17
|
-
|
18
|
-
end
|
19
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
module Hydra::Works
|
2
|
-
class AddRelatedObjectToCollection
|
3
|
-
|
4
|
-
##
|
5
|
-
# Add a related object to a collection.
|
6
|
-
#
|
7
|
-
# @param [Hydra::Works::Collection] :parent_collection to which to add the related object
|
8
|
-
# @param [Hydra::PCDM::Object] :child_related_object being added
|
9
|
-
#
|
10
|
-
# @return [Hydra::Works::Collection] the updated hydra works collection
|
11
|
-
|
12
|
-
def self.call( parent_collection, child_related_object )
|
13
|
-
raise ArgumentError, 'parent_collection must be a hydra-works collection' unless Hydra::Works.collection? parent_collection
|
14
|
-
raise ArgumentError, 'child_related_object must be a pcdm object' unless Hydra::PCDM.object? child_related_object
|
15
|
-
Hydra::PCDM::AddRelatedObjectToCollection.call( parent_collection, child_related_object )
|
16
|
-
end
|
17
|
-
|
18
|
-
end
|
19
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
module Hydra::Works
|
2
|
-
class GetCollectionsFromCollection
|
3
|
-
|
4
|
-
##
|
5
|
-
# Get member collections from a collection in order.
|
6
|
-
#
|
7
|
-
# @param [Hydra::Works::Collection] :parent_collection in which the child collections are members
|
8
|
-
#
|
9
|
-
# @return [Array<Hydra::Works::Collection>] all member collections
|
10
|
-
|
11
|
-
def self.call( parent_collection )
|
12
|
-
raise ArgumentError, 'parent_collection must be a hydra-works collection' unless Hydra::Works.collection? parent_collection
|
13
|
-
parent_collection.collections
|
14
|
-
end
|
15
|
-
|
16
|
-
end
|
17
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
module Hydra::Works
|
2
|
-
class GetGenericWorksFromCollection
|
3
|
-
|
4
|
-
##
|
5
|
-
# Get member generic works from a collection in order.
|
6
|
-
#
|
7
|
-
# @param [Hydra::Works::Collection] :parent_collection in which the child generic works are members
|
8
|
-
#
|
9
|
-
# @return [Array<Hydra::Works::GenericWork::Base>] all member generic works
|
10
|
-
|
11
|
-
def self.call( parent_collection )
|
12
|
-
raise ArgumentError, 'parent_collection must be a hydra-works collection' unless Hydra::Works.collection? parent_collection
|
13
|
-
parent_collection.generic_works
|
14
|
-
end
|
15
|
-
|
16
|
-
end
|
17
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
module Hydra::Works
|
2
|
-
class GetRelatedObjectsFromCollection
|
3
|
-
|
4
|
-
##
|
5
|
-
# Get related objects from a collection.
|
6
|
-
#
|
7
|
-
# @param [Hydra::Works::Collection] :parent_collection to which the child objects are related
|
8
|
-
#
|
9
|
-
# @return [Array<Hydra::Works::Collection>] all related objects
|
10
|
-
|
11
|
-
def self.call( parent_collection )
|
12
|
-
raise ArgumentError, 'parent_collection must be a hydra-works collection' unless Hydra::Works.collection? parent_collection
|
13
|
-
Hydra::PCDM::GetRelatedObjectsFromCollection.call( parent_collection )
|
14
|
-
end
|
15
|
-
|
16
|
-
end
|
17
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
module Hydra::Works
|
2
|
-
class RemoveCollectionFromCollection
|
3
|
-
|
4
|
-
##
|
5
|
-
# Remove a collection from a collection.
|
6
|
-
#
|
7
|
-
# @param [Hydra::Works::Collection] :parent_collection from which to remove collection
|
8
|
-
# @param [Hydra::Works::Collection] :child_collection being removed
|
9
|
-
#
|
10
|
-
# @return [Hydra::Works::Collection] the updated hydra works collection
|
11
|
-
|
12
|
-
def self.call( parent_collection, child_collection )
|
13
|
-
raise ArgumentError, 'parent_collection must be a hydra-works collection' unless Hydra::Works.collection? parent_collection
|
14
|
-
raise ArgumentError, 'child_collection must be a hydra-works collection' unless Hydra::Works.collection? child_collection
|
15
|
-
Hydra::PCDM::RemoveCollectionFromCollection.call( parent_collection, child_collection )
|
16
|
-
end
|
17
|
-
|
18
|
-
end
|
19
|
-
end
|