hydra-works 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (104) hide show
  1. checksums.yaml +7 -0
  2. data/.coveralls.yml +1 -0
  3. data/.gitignore +17 -0
  4. data/.rspec +1 -0
  5. data/.travis.yml +14 -0
  6. data/CONTRIBUTING.md +115 -0
  7. data/Gemfile +14 -0
  8. data/LICENSE +16 -0
  9. data/README.md +80 -0
  10. data/Rakefile +23 -0
  11. data/hydra-works.gemspec +33 -0
  12. data/lib/hydra/works.rb +81 -0
  13. data/lib/hydra/works/models/collection.rb +5 -0
  14. data/lib/hydra/works/models/concerns/aggregates_collections.rb +16 -0
  15. data/lib/hydra/works/models/concerns/aggregates_generic_files.rb +20 -0
  16. data/lib/hydra/works/models/concerns/aggregates_generic_works.rb +20 -0
  17. data/lib/hydra/works/models/concerns/collection_behavior.rb +28 -0
  18. data/lib/hydra/works/models/concerns/generic_file/contained_files.rb +22 -0
  19. data/lib/hydra/works/models/concerns/generic_file/derivatives.rb +32 -0
  20. data/lib/hydra/works/models/concerns/generic_file/mime_types.rb +69 -0
  21. data/lib/hydra/works/models/concerns/generic_file_behavior.rb +25 -0
  22. data/lib/hydra/works/models/concerns/generic_work_behavior.rb +30 -0
  23. data/lib/hydra/works/models/generic_file.rb +17 -0
  24. data/lib/hydra/works/models/generic_work.rb +9 -0
  25. data/lib/hydra/works/processor.rb +9 -0
  26. data/lib/hydra/works/services/collection/add_collection.rb +19 -0
  27. data/lib/hydra/works/services/collection/add_generic_work.rb +19 -0
  28. data/lib/hydra/works/services/collection/add_related_object.rb +19 -0
  29. data/lib/hydra/works/services/collection/get_collections.rb +17 -0
  30. data/lib/hydra/works/services/collection/get_generic_works.rb +17 -0
  31. data/lib/hydra/works/services/collection/get_related_objects.rb +17 -0
  32. data/lib/hydra/works/services/collection/remove_collection.rb +19 -0
  33. data/lib/hydra/works/services/collection/remove_generic_work.rb +20 -0
  34. data/lib/hydra/works/services/collection/remove_related_object.rb +19 -0
  35. data/lib/hydra/works/services/generic_file/add_file.rb +55 -0
  36. data/lib/hydra/works/services/generic_file/add_generic_file.rb +19 -0
  37. data/lib/hydra/works/services/generic_file/add_original_file.rb +11 -0
  38. data/lib/hydra/works/services/generic_file/add_related_object.rb +19 -0
  39. data/lib/hydra/works/services/generic_file/add_versioned_original_file.rb +10 -0
  40. data/lib/hydra/works/services/generic_file/generate/thumbnail.rb +19 -0
  41. data/lib/hydra/works/services/generic_file/get_generic_files.rb +17 -0
  42. data/lib/hydra/works/services/generic_file/get_related_objects.rb +17 -0
  43. data/lib/hydra/works/services/generic_file/remove_generic_file.rb +20 -0
  44. data/lib/hydra/works/services/generic_file/remove_related_object.rb +19 -0
  45. data/lib/hydra/works/services/generic_file/upload_file.rb +32 -0
  46. data/lib/hydra/works/services/generic_work/add_generic_file.rb +19 -0
  47. data/lib/hydra/works/services/generic_work/add_generic_work.rb +19 -0
  48. data/lib/hydra/works/services/generic_work/add_related_object.rb +19 -0
  49. data/lib/hydra/works/services/generic_work/get_generic_files.rb +17 -0
  50. data/lib/hydra/works/services/generic_work/get_generic_works.rb +17 -0
  51. data/lib/hydra/works/services/generic_work/get_related_objects.rb +17 -0
  52. data/lib/hydra/works/services/generic_work/move_generic_file.rb +19 -0
  53. data/lib/hydra/works/services/generic_work/remove_generic_file.rb +20 -0
  54. data/lib/hydra/works/services/generic_work/remove_generic_work.rb +20 -0
  55. data/lib/hydra/works/services/generic_work/remove_related_object.rb +19 -0
  56. data/lib/hydra/works/version.rb +5 -0
  57. data/lib/hydra/works/vocab/works_terms.rb +12 -0
  58. data/spec/fixtures/sample-file.pdf +0 -0
  59. data/spec/fixtures/updated-file.txt +1 -0
  60. data/spec/hydra/works/models/collection_spec.rb +41 -0
  61. data/spec/hydra/works/models/concerns/file/contained_files_spec.rb +113 -0
  62. data/spec/hydra/works/models/concerns/generic_file_behavior_spec.rb +12 -0
  63. data/spec/hydra/works/models/generic_file_spec.rb +45 -0
  64. data/spec/hydra/works/models/generic_work_spec.rb +50 -0
  65. data/spec/hydra/works/services/collection/add_collection_spec.rb +166 -0
  66. data/spec/hydra/works/services/collection/add_generic_work_spec.rb +155 -0
  67. data/spec/hydra/works/services/collection/add_related_object_spec.rb +149 -0
  68. data/spec/hydra/works/services/collection/get_collections_spec.rb +35 -0
  69. data/spec/hydra/works/services/collection/get_generic_works_spec.rb +35 -0
  70. data/spec/hydra/works/services/collection/get_related_objects_spec.rb +49 -0
  71. data/spec/hydra/works/services/collection/remove_collection_spec.rb +133 -0
  72. data/spec/hydra/works/services/collection/remove_generic_work_spec.rb +133 -0
  73. data/spec/hydra/works/services/collection/remove_related_object_spec.rb +128 -0
  74. data/spec/hydra/works/services/generic_file/add_file_spec.rb +28 -0
  75. data/spec/hydra/works/services/generic_file/add_generic_file_spec.rb +174 -0
  76. data/spec/hydra/works/services/generic_file/add_related_object_spec.rb +150 -0
  77. data/spec/hydra/works/services/generic_file/generate/thumbnail_spec.rb +21 -0
  78. data/spec/hydra/works/services/generic_file/get_generic_files_spec.rb +19 -0
  79. data/spec/hydra/works/services/generic_file/get_related_objects_spec.rb +45 -0
  80. data/spec/hydra/works/services/generic_file/remove_generic_file_spec.rb +124 -0
  81. data/spec/hydra/works/services/generic_file/remove_related_object_spec.rb +123 -0
  82. data/spec/hydra/works/services/generic_file/upload_file_spec.rb +82 -0
  83. data/spec/hydra/works/services/generic_work/add_generic_file_spec.rb +156 -0
  84. data/spec/hydra/works/services/generic_work/add_generic_work_spec.rb +157 -0
  85. data/spec/hydra/works/services/generic_work/add_related_object_spec.rb +148 -0
  86. data/spec/hydra/works/services/generic_work/get_generic_files_spec.rb +35 -0
  87. data/spec/hydra/works/services/generic_work/get_generic_works_spec.rb +35 -0
  88. data/spec/hydra/works/services/generic_work/get_related_objects_spec.rb +46 -0
  89. data/spec/hydra/works/services/generic_work/move_generic_file_spec.rb +21 -0
  90. data/spec/hydra/works/services/generic_work/remove_generic_file_spec.rb +132 -0
  91. data/spec/hydra/works/services/generic_work/remove_generic_work_spec.rb +133 -0
  92. data/spec/hydra/works/services/generic_work/remove_related_object_spec.rb +128 -0
  93. data/spec/hydra/works_spec.rb +149 -0
  94. data/spec/spec_helper.rb +40 -0
  95. data/use-cases/conference_event_use_case.md +16 -0
  96. data/use-cases/lafayette_college_geospatial_use_case.md +80 -0
  97. data/use-cases/northwestern_adminset_use-case.md +19 -0
  98. data/use-cases/northwestern_displayset_use_case.md +23 -0
  99. data/use-cases/northwestern_playlist_use_case.md +21 -0
  100. data/use-cases/princeton_book_use_case.md +117 -0
  101. data/use-cases/scholarsphere_use_case.md +32 -0
  102. data/use-cases/stanford_data_model_use_case.md +86 -0
  103. data/use-cases/ucin_linked_resource_use_case.md +21 -0
  104. metadata +338 -0
@@ -0,0 +1,32 @@
1
+ # Penn State ScholarSphere work use cases
2
+
3
+ Sponsor: @mjgiarlo
4
+
5
+ Given a scholarly work with one or more files
6
+ As a user
7
+ I want to manage, preserve, and share the work that contains the files
8
+ And I want to maintain the relationships between works and the files in which they are represented
9
+ And I want files to be characterized with technical metadata
10
+ So that I can more accurately and efficiently represent multi-file works than now (when I must apply granular descriptive metadata at the file level, and group files into collections).
11
+
12
+ Given one or more works to which I have access in ScholarSphere
13
+ As a user
14
+ I want to group my works into collections
15
+ And I want to allow other users to be able to do the same, possibly with the same works I have grouped into a collection
16
+ So that I may better highlight aggregations of works, e.g., the work of a particular department, class, or discipline
17
+
18
+ The domain model I am getting at (though not entirely covering) above:
19
+
20
+ * Work has a unique identifier
21
+ * Work has many (0..n) Files
22
+ * Work has descriptive metadata
23
+ * Work may belong to many (0..n) Collections
24
+ * Work may be related to other Works
25
+ * File has a unique identifier
26
+ * File must belong to one and only one Work
27
+ * File has binary content/payload
28
+ * File has technical metadata
29
+ * File may have descriptive metadata independent of containing Work
30
+ * Collection has a unique identifier
31
+ * Collection has many (0..n) Works
32
+ * Collection has descriptive metadata independent of contained Works
@@ -0,0 +1,86 @@
1
+ # Stanford hierarchical data modeling
2
+
3
+ Sponsor: @atz
4
+
5
+ Tip o' the hat to the [Princeton cases](princeton_book_use_case.md) that are sufficient for our most common cases.
6
+
7
+ We currently have Collections, Items and Files. Items belong to exactly 1 Collection and have 0..n Files.
8
+ Our approach is mappable to the proposed [Component model](https://cloud.githubusercontent.com/assets/856924/4593133/4ef830c4-5083-11e4-9ec7-261a9483eb7a.png)
9
+ Other groupings/lists will be discussed separately.
10
+
11
+ Here we'll introduce some complexities.
12
+
13
+ ## Access/Rights
14
+
15
+ At construction, the work acquires overridable default rights from its Collection membership.
16
+ We do optionally apply access rights at the (file) leaf node level, where an individual file might be, for example, raw documentary audio of an event, i.e. source material for the work.
17
+
18
+ ## Multi-phase digitization
19
+
20
+ To the baseline:
21
+ ```
22
+ Given a book with many pages, and many images of each page
23
+ As a repository comprised in part of digitized books and manuscripts
24
+ I want to maintain the relationships between images of a page and technical,
25
+ descriptive, and provenance metadata about each image
26
+ And I want to maintain sorting, label, and other metadata, as well as files
27
+ that represent the whole object in one place
28
+ So that I can have multiple images of a page tied to one instance of a model
29
+ without relying on naming conventions (e.g. jp2_md5_checksum)
30
+ ```
31
+ Add:
32
+ ```
33
+ INCLUDING multiple images of the same page generated at different times via separate scans.
34
+ ```
35
+
36
+ Note:
37
+ * format is not enough to distinguish the various page-images
38
+ * it should be possible to add `1..n` additional scan-image file(s) to a page Component
39
+ * ideally via metadata that identifies the page being represented (because newfile also represents work:$id, page:34)
40
+ * instead of just (or in addition to) explicitly saying attach newfile to component:$cid
41
+ * We agree work must also take attachment of `0..n` file(s), not just the page components. Most commonly this would be the big PDF representing the whole work (or more than one page).
42
+ * However, a composite work-level file may be composed from partial scans, rather than page-files being decomposed from a big scan.
43
+ * Some day (or for certain means of accessing certain media, e.g. streaming audio) this composite might be assembled on the fly rather than precomposed.
44
+
45
+
46
+ ## Order
47
+
48
+ * Order of components or subcomponents is essential
49
+ * If you have a bunch of pages, you need to be able to present them in order. That order shouldn't change if additional page-images of already populated pages are added.
50
+ * Order of files (leaf nodes) is important but context-dependent:
51
+ * In this case one version of order is just the ability to prefer one file of a given format vs others, e.g. `getBestImageForCompositing(["tiff","jp2", "jpg"])`
52
+
53
+ ## Technical Reports, Versioning
54
+
55
+ Some reports are republished in a versioned sequence. They are substantially the same work with updates or corrections. The work is at the report title level, with a component for the version
56
+ and further subcomponents for pages.
57
+
58
+ ## Problematic Cases
59
+
60
+ These are not immediate requirements but are targets for future integration.
61
+
62
+ ### Book Sets, Box Sets, e.g. Atlas of Maps or Art Book
63
+
64
+ An Art Book contains images representing artistic works where the individual Component's descriptive metadata is likely of equivalent or greater interest than
65
+ its presence in the publication. This case is particularly strong when digitization policy supports targeting of individual pages on demand (say, Pablo Picaso, "Blue Nude").
66
+
67
+ Similarly, for descriptive purposes, a map is more tightly bound to its creator than to its appearance in a given atlas.
68
+ Will attempt to flesh out via concrete example.
69
+
70
+ ### Series
71
+
72
+ Classic problem, hasn't been discussed much. Presumed out of scope for works modeling.
73
+
74
+ ### Government Documents
75
+
76
+ Similar to series.
77
+
78
+ ### Dataset
79
+
80
+ Institutionally generated or acquired from external source.
81
+
82
+ Not necessarily including related publication. There may or may not be an accompanying paper or article. If existing, the publication may be part of the
83
+ Hydra repository or external.
84
+
85
+ Needs to be able to attach to part of a research-work. Defer on modeling domain-specific full hierarchical depth.
86
+
@@ -0,0 +1,21 @@
1
+ Cincinnati Linked Resource Use Case
2
+ Sponsor: @scherztc
3
+
4
+ Given an intellectual work (object) with external resources (LinkedResource)
5
+ As a repository comprised of Collset -> Wortem -> Compart -> GenericFile / LinkedResource
6
+ I want to maintain the relationships between descriptive and provenance
7
+ metadata about each object.
8
+ And I want to maintain sorting, label, and other metadata, as well as files
9
+ that represent the whole object in one place
10
+ So that I can have multiple Compart of a Wortem tied to one instance of a model
11
+ with each Compart containing a GenericFile or LinkedResource.
12
+ Therefore I can have a Wortem that does not contain a GenericFile, but only LinkedResources.
13
+
14
+ Here are some example object we need to represent, and their characteristics, from least to most complex.
15
+
16
+ LinkedResource
17
+ Compart
18
+ Wortem
19
+ Collset
20
+
21
+
metadata ADDED
@@ -0,0 +1,338 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: hydra-works
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Justin Coyne
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-06-05 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: hydra-pcdm
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 0.0.1
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 0.0.1
27
+ - !ruby/object:Gem::Dependency
28
+ name: hydra-derivatives
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 1.1.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 1.1.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: activefedora-aggregation
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 0.2.0
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 0.2.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: bundler
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.7'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1.7'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rake
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '10.0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '10.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rspec-rails
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '3.1'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '3.1'
97
+ - !ruby/object:Gem::Dependency
98
+ name: engine_cart
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: sqlite3
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: jettywrapper
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: 2.0.0
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: 2.0.0
139
+ - !ruby/object:Gem::Dependency
140
+ name: coveralls
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: rspec
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ description: Using this data model should enable easy collaboration amongst hydra
168
+ projects.
169
+ email:
170
+ - justin@curationexperts.com
171
+ executables: []
172
+ extensions: []
173
+ extra_rdoc_files: []
174
+ files:
175
+ - ".coveralls.yml"
176
+ - ".gitignore"
177
+ - ".rspec"
178
+ - ".travis.yml"
179
+ - CONTRIBUTING.md
180
+ - Gemfile
181
+ - LICENSE
182
+ - README.md
183
+ - Rakefile
184
+ - hydra-works.gemspec
185
+ - lib/hydra/works.rb
186
+ - 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
190
+ - lib/hydra/works/models/concerns/collection_behavior.rb
191
+ - lib/hydra/works/models/concerns/generic_file/contained_files.rb
192
+ - lib/hydra/works/models/concerns/generic_file/derivatives.rb
193
+ - lib/hydra/works/models/concerns/generic_file/mime_types.rb
194
+ - lib/hydra/works/models/concerns/generic_file_behavior.rb
195
+ - lib/hydra/works/models/concerns/generic_work_behavior.rb
196
+ - lib/hydra/works/models/generic_file.rb
197
+ - 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
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
218
+ - 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
+ - lib/hydra/works/version.rb
230
+ - lib/hydra/works/vocab/works_terms.rb
231
+ - spec/fixtures/sample-file.pdf
232
+ - spec/fixtures/updated-file.txt
233
+ - spec/hydra/works/models/collection_spec.rb
234
+ - spec/hydra/works/models/concerns/file/contained_files_spec.rb
235
+ - spec/hydra/works/models/concerns/generic_file_behavior_spec.rb
236
+ - spec/hydra/works/models/generic_file_spec.rb
237
+ - 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
250
+ - 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
+ - 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
266
+ - spec/hydra/works_spec.rb
267
+ - spec/spec_helper.rb
268
+ - use-cases/conference_event_use_case.md
269
+ - use-cases/lafayette_college_geospatial_use_case.md
270
+ - use-cases/northwestern_adminset_use-case.md
271
+ - use-cases/northwestern_displayset_use_case.md
272
+ - use-cases/northwestern_playlist_use_case.md
273
+ - use-cases/princeton_book_use_case.md
274
+ - use-cases/scholarsphere_use_case.md
275
+ - use-cases/stanford_data_model_use_case.md
276
+ - use-cases/ucin_linked_resource_use_case.md
277
+ homepage: ''
278
+ licenses:
279
+ - APACHE2
280
+ metadata: {}
281
+ post_install_message:
282
+ rdoc_options: []
283
+ require_paths:
284
+ - lib
285
+ required_ruby_version: !ruby/object:Gem::Requirement
286
+ requirements:
287
+ - - ">="
288
+ - !ruby/object:Gem::Version
289
+ version: '0'
290
+ required_rubygems_version: !ruby/object:Gem::Requirement
291
+ requirements:
292
+ - - ">="
293
+ - !ruby/object:Gem::Version
294
+ version: '0'
295
+ requirements: []
296
+ rubyforge_project:
297
+ rubygems_version: 2.4.6
298
+ signing_key:
299
+ specification_version: 4
300
+ summary: Fundamental repository data model for hydra
301
+ test_files:
302
+ - spec/fixtures/sample-file.pdf
303
+ - spec/fixtures/updated-file.txt
304
+ - spec/hydra/works/models/collection_spec.rb
305
+ - spec/hydra/works/models/concerns/file/contained_files_spec.rb
306
+ - spec/hydra/works/models/concerns/generic_file_behavior_spec.rb
307
+ - spec/hydra/works/models/generic_file_spec.rb
308
+ - 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
321
+ - 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
+ - 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
337
+ - spec/hydra/works_spec.rb
338
+ - spec/spec_helper.rb