hydra-works 0.0.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (103) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -1
  3. data/.travis.yml +2 -5
  4. data/Gemfile +1 -3
  5. data/README.md +28 -13
  6. data/hydra-works.gemspec +4 -3
  7. data/lib/hydra/works.rb +7 -57
  8. data/lib/hydra/works/models/concerns/block_child_objects.rb +16 -0
  9. data/lib/hydra/works/models/concerns/collection_behavior.rb +27 -2
  10. data/lib/hydra/works/models/concerns/generic_file/contained_files.rb +5 -13
  11. data/lib/hydra/works/models/concerns/generic_file/derivatives.rb +9 -13
  12. data/lib/hydra/works/models/concerns/generic_file/mime_types.rb +14 -9
  13. data/lib/hydra/works/models/concerns/generic_file/versioned_content.rb +18 -0
  14. data/lib/hydra/works/models/concerns/generic_file/virus_check.rb +48 -0
  15. data/lib/hydra/works/models/concerns/generic_file_behavior.rb +24 -1
  16. data/lib/hydra/works/models/concerns/generic_work_behavior.rb +32 -3
  17. data/lib/hydra/works/models/generic_file.rb +3 -0
  18. data/lib/hydra/works/services/generic_file/add_file_to_generic_file.rb +127 -0
  19. data/lib/hydra/works/services/generic_file/generate/thumbnail.rb +1 -2
  20. data/lib/hydra/works/services/generic_file/persist_derivative.rb +22 -0
  21. data/lib/hydra/works/services/generic_file/upload_file.rb +11 -19
  22. data/lib/hydra/works/version.rb +1 -1
  23. data/lib/hydra/works/vocab/works_terms.rb +1 -1
  24. data/spec/fixtures/Example.ogg +0 -0
  25. data/spec/fixtures/charter.docx +0 -0
  26. data/spec/fixtures/countdown.avi +0 -0
  27. data/spec/fixtures/image.jp2 +0 -0
  28. data/spec/fixtures/piano_note.wav +0 -0
  29. data/spec/fixtures/test5.mp3 +0 -0
  30. data/spec/fixtures/world.png +0 -0
  31. data/spec/hydra/works/models/collection_spec.rb +499 -16
  32. data/spec/hydra/works/models/concerns/block_child_objects_spec.rb +19 -0
  33. data/spec/hydra/works/models/concerns/{file → generic_file}/contained_files_spec.rb +20 -17
  34. data/spec/hydra/works/models/concerns/generic_file/mime_types_spec.rb +76 -0
  35. data/spec/hydra/works/models/concerns/generic_file/versioned_content_spec.rb +32 -0
  36. data/spec/hydra/works/models/concerns/generic_file/virus_check_spec.rb +50 -0
  37. data/spec/hydra/works/models/concerns/generic_file_behavior_spec.rb +1 -1
  38. data/spec/hydra/works/models/generic_file_spec.rb +201 -14
  39. data/spec/hydra/works/models/generic_work_spec.rb +530 -14
  40. data/spec/hydra/works/services/generic_file/add_file_to_generic_file_spec.rb +110 -0
  41. data/spec/hydra/works/services/generic_file/upload_file_spec.rb +45 -28
  42. data/spec/hydra/works/services/persist_derivatives_spec.rb +93 -0
  43. data/spec/hydra/works_spec.rb +35 -35
  44. data/spec/spec_helper.rb +6 -0
  45. metadata +56 -95
  46. data/lib/hydra/works/models/concerns/aggregates_collections.rb +0 -16
  47. data/lib/hydra/works/models/concerns/aggregates_generic_files.rb +0 -20
  48. data/lib/hydra/works/models/concerns/aggregates_generic_works.rb +0 -20
  49. data/lib/hydra/works/processor.rb +0 -9
  50. data/lib/hydra/works/services/collection/add_collection.rb +0 -19
  51. data/lib/hydra/works/services/collection/add_generic_work.rb +0 -19
  52. data/lib/hydra/works/services/collection/add_related_object.rb +0 -19
  53. data/lib/hydra/works/services/collection/get_collections.rb +0 -17
  54. data/lib/hydra/works/services/collection/get_generic_works.rb +0 -17
  55. data/lib/hydra/works/services/collection/get_related_objects.rb +0 -17
  56. data/lib/hydra/works/services/collection/remove_collection.rb +0 -19
  57. data/lib/hydra/works/services/collection/remove_generic_work.rb +0 -20
  58. data/lib/hydra/works/services/collection/remove_related_object.rb +0 -19
  59. data/lib/hydra/works/services/generic_file/add_file.rb +0 -55
  60. data/lib/hydra/works/services/generic_file/add_generic_file.rb +0 -19
  61. data/lib/hydra/works/services/generic_file/add_original_file.rb +0 -11
  62. data/lib/hydra/works/services/generic_file/add_related_object.rb +0 -19
  63. data/lib/hydra/works/services/generic_file/add_versioned_original_file.rb +0 -10
  64. data/lib/hydra/works/services/generic_file/get_generic_files.rb +0 -17
  65. data/lib/hydra/works/services/generic_file/get_related_objects.rb +0 -17
  66. data/lib/hydra/works/services/generic_file/remove_generic_file.rb +0 -20
  67. data/lib/hydra/works/services/generic_file/remove_related_object.rb +0 -19
  68. data/lib/hydra/works/services/generic_work/add_generic_file.rb +0 -19
  69. data/lib/hydra/works/services/generic_work/add_generic_work.rb +0 -19
  70. data/lib/hydra/works/services/generic_work/add_related_object.rb +0 -19
  71. data/lib/hydra/works/services/generic_work/get_generic_files.rb +0 -17
  72. data/lib/hydra/works/services/generic_work/get_generic_works.rb +0 -17
  73. data/lib/hydra/works/services/generic_work/get_related_objects.rb +0 -17
  74. data/lib/hydra/works/services/generic_work/move_generic_file.rb +0 -19
  75. data/lib/hydra/works/services/generic_work/remove_generic_file.rb +0 -20
  76. data/lib/hydra/works/services/generic_work/remove_generic_work.rb +0 -20
  77. data/lib/hydra/works/services/generic_work/remove_related_object.rb +0 -19
  78. data/spec/hydra/works/services/collection/add_collection_spec.rb +0 -166
  79. data/spec/hydra/works/services/collection/add_generic_work_spec.rb +0 -155
  80. data/spec/hydra/works/services/collection/add_related_object_spec.rb +0 -149
  81. data/spec/hydra/works/services/collection/get_collections_spec.rb +0 -35
  82. data/spec/hydra/works/services/collection/get_generic_works_spec.rb +0 -35
  83. data/spec/hydra/works/services/collection/get_related_objects_spec.rb +0 -49
  84. data/spec/hydra/works/services/collection/remove_collection_spec.rb +0 -133
  85. data/spec/hydra/works/services/collection/remove_generic_work_spec.rb +0 -133
  86. data/spec/hydra/works/services/collection/remove_related_object_spec.rb +0 -128
  87. data/spec/hydra/works/services/generic_file/add_file_spec.rb +0 -28
  88. data/spec/hydra/works/services/generic_file/add_generic_file_spec.rb +0 -174
  89. data/spec/hydra/works/services/generic_file/add_related_object_spec.rb +0 -150
  90. data/spec/hydra/works/services/generic_file/get_generic_files_spec.rb +0 -19
  91. data/spec/hydra/works/services/generic_file/get_related_objects_spec.rb +0 -45
  92. data/spec/hydra/works/services/generic_file/remove_generic_file_spec.rb +0 -124
  93. data/spec/hydra/works/services/generic_file/remove_related_object_spec.rb +0 -123
  94. data/spec/hydra/works/services/generic_work/add_generic_file_spec.rb +0 -156
  95. data/spec/hydra/works/services/generic_work/add_generic_work_spec.rb +0 -157
  96. data/spec/hydra/works/services/generic_work/add_related_object_spec.rb +0 -148
  97. data/spec/hydra/works/services/generic_work/get_generic_files_spec.rb +0 -35
  98. data/spec/hydra/works/services/generic_work/get_generic_works_spec.rb +0 -35
  99. data/spec/hydra/works/services/generic_work/get_related_objects_spec.rb +0 -46
  100. data/spec/hydra/works/services/generic_work/move_generic_file_spec.rb +0 -21
  101. data/spec/hydra/works/services/generic_work/remove_generic_file_spec.rb +0 -132
  102. data/spec/hydra/works/services/generic_work/remove_generic_work_spec.rb +0 -133
  103. data/spec/hydra/works/services/generic_work/remove_related_object_spec.rb +0 -128
@@ -1,5 +1,11 @@
1
1
  ENV['environment'] ||= 'test'
2
+ require 'simplecov'
2
3
  require 'coveralls'
4
+
5
+ SimpleCov.formatter = Coveralls::SimpleCov::Formatter
6
+ SimpleCov.start do
7
+ add_filter '/spec'
8
+ end
3
9
  Coveralls.wear!
4
10
 
5
11
  require 'bundler/setup'
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.1
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-06-05 00:00:00.000000000 Z
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.0.1
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.0.1
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: 1.1.0
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: 1.1.0
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.2.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.2.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/aggregates_collections.rb
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/processor.rb
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/get_generic_files.rb
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/file/contained_files_spec.rb
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/collection/add_collection_spec.rb
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/generic_work/add_generic_file_spec.rb
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.6
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/file/contained_files_spec.rb
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/collection/add_collection_spec.rb
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/generic_work/add_generic_file_spec.rb
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,9 +0,0 @@
1
- module Hydra::Derivatives
2
- class Work < Hydra::Derivatives::Image
3
-
4
- def source_file
5
- object.send(source_name.to_s)
6
- end
7
-
8
- end
9
- 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