hydra-works 0.4.0 → 0.5.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/hydra-works.gemspec +1 -1
- data/lib/hydra/works.rb +0 -5
- data/lib/hydra/works/models/concerns/collection_behavior.rb +0 -14
- data/lib/hydra/works/models/concerns/file_set_behavior.rb +0 -14
- data/lib/hydra/works/models/concerns/work_behavior.rb +0 -19
- data/lib/hydra/works/models/generic_work.rb +0 -11
- data/lib/hydra/works/services/upload_file_to_file_set.rb +9 -9
- data/lib/hydra/works/version.rb +1 -1
- data/lib/tasks/hydra-works_tasks.rake +14 -5
- data/spec/hydra/works/models/{generic_file_spec.rb → file_set_spec.rb} +0 -0
- metadata +6 -12
- data/lib/hydra/works/models/concerns/generic_file_behavior.rb +0 -12
- data/lib/hydra/works/models/concerns/generic_work_behavior.rb +0 -12
- data/lib/hydra/works/models/generic_file.rb +0 -17
- data/lib/hydra/works/services/add_file_to_generic_file.rb +0 -8
- data/lib/hydra/works/services/upload_file_to_generic_file.rb +0 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dccbd98c61c1d4f18a6638c637c52adb8414c39b
|
4
|
+
data.tar.gz: 898863dcf45f52862fddebd401c31d31a7384ee2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5b895ae5c78efa14c537173445f3d8b70304e4ff5462912839ffae55bb96162c867066b15c55d0315cd7de2146da6bcf911f27c3a7b2502fd0228a05bf532d80
|
7
|
+
data.tar.gz: 526f699b440f37454b043a1e8127c93e42ff31a404ec9c487f0eeb15471feeda07abaf02aea2382e063360a25c06962a9d3bef79bc61107573ac6d8b74717838
|
data/hydra-works.gemspec
CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
|
|
10
10
|
spec.email = ['justin@curationexperts.com']
|
11
11
|
spec.summary = %q{Fundamental repository data model for hydra}
|
12
12
|
spec.description = %q{Using this data model should enable easy collaboration amongst hydra projects.}
|
13
|
-
spec.homepage = ''
|
13
|
+
spec.homepage = 'https://github.com/projecthydra-labs/hydra-works'
|
14
14
|
spec.license = 'APACHE2'
|
15
15
|
|
16
16
|
spec.files = `git ls-files -z`.split("\x0")
|
data/lib/hydra/works.rb
CHANGED
@@ -28,22 +28,17 @@ module Hydra
|
|
28
28
|
autoload :Collection
|
29
29
|
autoload :FileSet
|
30
30
|
autoload :GenericWork
|
31
|
-
autoload :GenericFile # Deprecated. Remove in 0.4.0
|
32
31
|
end
|
33
32
|
|
34
33
|
autoload_under 'models/concerns' do
|
35
34
|
autoload :CollectionBehavior
|
36
35
|
autoload :FileSetBehavior
|
37
|
-
autoload :GenericWorkBehavior # Deprecated. Remove in 0.4.0
|
38
|
-
autoload :GenericFileBehavior # Deprecated. Remove in 0.4.0
|
39
36
|
autoload :WorkBehavior
|
40
37
|
end
|
41
38
|
|
42
39
|
autoload_under 'services' do
|
43
40
|
autoload :AddFileToFileSet
|
44
|
-
autoload :AddFileToGenericFile # Deprecated. Remove in 0.4.0
|
45
41
|
autoload :UploadFileToFileSet
|
46
|
-
autoload :UploadFileToGenericFile # Deprecated. Remove in 0.4.0
|
47
42
|
autoload :PersistDerivative
|
48
43
|
autoload :CharacterizationService
|
49
44
|
end
|
@@ -15,15 +15,10 @@ module Hydra::Works
|
|
15
15
|
# 9) Hydra::Works::Collection can have access metadata
|
16
16
|
module CollectionBehavior
|
17
17
|
extend ActiveSupport::Concern
|
18
|
-
extend Deprecation
|
19
|
-
self.deprecation_horizon = "Hydra::Works 0.4.0"
|
20
18
|
include Hydra::PCDM::CollectionBehavior
|
21
19
|
|
22
20
|
included do
|
23
21
|
type [Hydra::PCDM::Vocab::PCDMTerms.Collection, Vocab::WorksTerms.Collection]
|
24
|
-
|
25
|
-
alias_method :generic_works, :works
|
26
|
-
deprecation_deprecate :generic_works
|
27
22
|
end
|
28
23
|
|
29
24
|
def ordered_works
|
@@ -47,23 +42,14 @@ module Hydra::Works
|
|
47
42
|
true
|
48
43
|
end
|
49
44
|
|
50
|
-
alias_method :works_collection?, :collection?
|
51
|
-
deprecation_deprecate :works_collection?
|
52
|
-
|
53
45
|
# @return [Boolean] whether this instance is a Hydra::Works Generic Work.
|
54
46
|
def work?
|
55
47
|
false
|
56
48
|
end
|
57
49
|
|
58
|
-
alias_method :works_generic_work?, :work?
|
59
|
-
deprecation_deprecate :works_generic_work?
|
60
|
-
|
61
50
|
# @return [Boolean] whether this instance is a Hydra::Works::FileSet.
|
62
51
|
def file_set?
|
63
52
|
false
|
64
53
|
end
|
65
|
-
|
66
|
-
alias_method :works_generic_file?, :file_set?
|
67
|
-
deprecation_deprecate :works_generic_file?
|
68
54
|
end
|
69
55
|
end
|
@@ -10,8 +10,6 @@ module Hydra::Works
|
|
10
10
|
# 6) Hydra::Works::FileSet can have access metadata
|
11
11
|
module FileSetBehavior
|
12
12
|
extend ActiveSupport::Concern
|
13
|
-
extend Deprecation
|
14
|
-
self.deprecation_horizon = "Hydra::Works 0.4.0"
|
15
13
|
include Hydra::PCDM::ObjectBehavior
|
16
14
|
|
17
15
|
included do
|
@@ -28,30 +26,18 @@ module Hydra::Works
|
|
28
26
|
false
|
29
27
|
end
|
30
28
|
|
31
|
-
alias_method :works_collection?, :collection?
|
32
|
-
deprecation_deprecate :works_collection?
|
33
|
-
|
34
29
|
# @return [Boolean] whether this instance is a Hydra::Works Generic Work.
|
35
30
|
def work?
|
36
31
|
false
|
37
32
|
end
|
38
33
|
|
39
|
-
alias_method :works_generic_work?, :work?
|
40
|
-
deprecation_deprecate :works_generic_work?
|
41
|
-
|
42
34
|
# @return [Boolean] whether this instance is a Hydra::Works::FileSet.
|
43
35
|
def file_set?
|
44
36
|
true
|
45
37
|
end
|
46
38
|
|
47
|
-
alias_method :works_generic_file?, :file_set?
|
48
|
-
deprecation_deprecate :works_generic_file?
|
49
|
-
|
50
39
|
def in_works
|
51
40
|
ordered_by.select { |parent| parent.class.included_modules.include?(Hydra::Works::WorkBehavior) }.to_a
|
52
41
|
end
|
53
|
-
|
54
|
-
alias_method :in_generic_works, :in_works
|
55
|
-
deprecation_deprecate :in_generic_works
|
56
42
|
end
|
57
43
|
end
|
@@ -14,17 +14,10 @@ module Hydra::Works
|
|
14
14
|
# 10) Hydra::Works::Work can have access metadata
|
15
15
|
module WorkBehavior
|
16
16
|
extend ActiveSupport::Concern
|
17
|
-
extend Deprecation
|
18
|
-
self.deprecation_horizon = "Hydra::Works 0.4.0"
|
19
17
|
include Hydra::PCDM::ObjectBehavior
|
20
18
|
|
21
19
|
included do
|
22
20
|
type [Hydra::PCDM::Vocab::PCDMTerms.Object, Vocab::WorksTerms.Work]
|
23
|
-
|
24
|
-
alias_method :generic_works, :ordered_works
|
25
|
-
deprecation_deprecate :generic_works
|
26
|
-
|
27
|
-
alias_method :generic_files, :ordered_file_sets
|
28
21
|
end
|
29
22
|
|
30
23
|
def works
|
@@ -64,30 +57,18 @@ module Hydra::Works
|
|
64
57
|
false
|
65
58
|
end
|
66
59
|
|
67
|
-
alias_method :works_collection?, :collection?
|
68
|
-
deprecation_deprecate :works_collection?
|
69
|
-
|
70
60
|
# @return [Boolean] whether this instance is a Hydra::Works Generic Work.
|
71
61
|
def work?
|
72
62
|
true
|
73
63
|
end
|
74
64
|
|
75
|
-
alias_method :works_generic_work?, :work?
|
76
|
-
deprecation_deprecate :works_generic_work?
|
77
|
-
|
78
65
|
# @return [Boolean] whether this instance is a Hydra::Works::FileSet.
|
79
66
|
def file_set?
|
80
67
|
false
|
81
68
|
end
|
82
69
|
|
83
|
-
alias_method :works_generic_file?, :file_set?
|
84
|
-
deprecation_deprecate :works_generic_file?
|
85
|
-
|
86
70
|
def in_works
|
87
71
|
ordered_by.select { |parent| parent.class.included_modules.include?(Hydra::Works::WorkBehavior) }.to_a
|
88
72
|
end
|
89
|
-
|
90
|
-
alias_method :in_generic_works, :in_works
|
91
|
-
deprecation_deprecate :in_generic_works
|
92
73
|
end
|
93
74
|
end
|
@@ -5,16 +5,5 @@ module Hydra::Works
|
|
5
5
|
# include Hydra::Works::WorkBehavior
|
6
6
|
class GenericWork < ActiveFedora::Base
|
7
7
|
include Hydra::Works::WorkBehavior
|
8
|
-
|
9
|
-
# @deprecated Base class for creating objects that behave like Hydra::Works::GenericWorks
|
10
|
-
class Base < ActiveFedora::Base
|
11
|
-
extend Deprecation
|
12
|
-
after_initialize :deprecated_warning
|
13
|
-
include Hydra::Works::WorkBehavior
|
14
|
-
|
15
|
-
def deprecated_warning
|
16
|
-
Deprecation.warn(Base, "GenericWork is deprecated and will be removed in Hydra::Works 0.4.0. Use Hydra::Works::GenericWork instead")
|
17
|
-
end
|
18
|
-
end
|
19
8
|
end
|
20
9
|
end
|
@@ -1,22 +1,22 @@
|
|
1
1
|
module Hydra::Works
|
2
2
|
class UploadFileToFileSet
|
3
|
-
# Sets a file as the primary file (original_file) of the
|
4
|
-
# @param [Hydra::PCDM::FileSet]
|
3
|
+
# Sets a file as the primary file (original_file) of the file_set
|
4
|
+
# @param [Hydra::PCDM::FileSet] file_set the file will be added to
|
5
5
|
# @param [IO,File,Rack::Multipart::UploadedFile, #read] object that will be the contents. If file responds to :mime_type or :original_name, those will be called to provide technical metadata.
|
6
|
-
# @param [Array] additional_services (ie Generating Thumbnails) to call with
|
7
|
-
# @param [Boolean] update_existing whether to update an existing file if there is one. When set to true, performs a create_or_update. When set to false, always creates a new file within
|
6
|
+
# @param [Array] additional_services (ie Generating Thumbnails) to call with file_set after adding the file as its original_file
|
7
|
+
# @param [Boolean] update_existing whether to update an existing file if there is one. When set to true, performs a create_or_update. When set to false, always creates a new file within file_set.files.
|
8
8
|
# @param [Boolean] versioning whether to create new version entries (only applicable if +type+ corresponds to a versionable file)
|
9
9
|
|
10
|
-
def self.call(
|
11
|
-
Hydra::Works::AddFileToFileSet.call(
|
10
|
+
def self.call(file_set, file, additional_services: [], update_existing: true, versioning: true)
|
11
|
+
Hydra::Works::AddFileToFileSet.call(file_set, file, :original_file, update_existing: update_existing, versioning: versioning)
|
12
12
|
|
13
13
|
# Call any additional services
|
14
14
|
additional_services.each do |service|
|
15
|
-
service.call(
|
15
|
+
service.call(file_set)
|
16
16
|
end
|
17
17
|
|
18
|
-
|
19
|
-
|
18
|
+
file_set.save
|
19
|
+
file_set
|
20
20
|
end
|
21
21
|
end
|
22
22
|
end
|
data/lib/hydra/works/version.rb
CHANGED
@@ -38,17 +38,26 @@ namespace :hydra_works do
|
|
38
38
|
)
|
39
39
|
|
40
40
|
desc 'Configure jetty with full-text indexing'
|
41
|
-
task config: :download_jars do
|
41
|
+
task config: [:generate_config, :download_jars] do
|
42
42
|
Rake::Task['jetty:config'].invoke
|
43
43
|
end
|
44
44
|
|
45
|
-
desc '
|
46
|
-
task :
|
47
|
-
puts "
|
45
|
+
desc 'Generate a Solr config with full-text extraction'
|
46
|
+
task :generate_config do
|
47
|
+
puts "Generating a solrconfig.xml configured for full-text extraction"
|
48
48
|
source = File.join(File.dirname(__FILE__), '..', '..', 'config', 'solrconfig.xml')
|
49
49
|
dest = File.join('solr_conf','conf')
|
50
50
|
FileUtils.mkdir_p(dest) unless File.directory?(dest)
|
51
|
-
|
51
|
+
dest_file = File.join(dest, 'solrconfig.xml')
|
52
|
+
if File.exist?(dest_file)
|
53
|
+
puts "Skipping. #{dest_file} already exists."
|
54
|
+
else
|
55
|
+
cp source, dest
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
desc 'Download Solr full-text extraction jars'
|
60
|
+
task :download_jars do
|
52
61
|
puts "Downloading full-text jars from maven.org ..."
|
53
62
|
fulltext_dir = 'jetty/solr/lib/contrib/extraction/lib'
|
54
63
|
FileUtils.mkdir_p(fulltext_dir) unless File.directory?(fulltext_dir)
|
File without changes
|
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.
|
4
|
+
version: 0.5.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-
|
11
|
+
date: 2015-11-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: hydra-pcdm
|
@@ -212,19 +212,14 @@ files:
|
|
212
212
|
- lib/hydra/works/models/concerns/file_set/versioned_content.rb
|
213
213
|
- lib/hydra/works/models/concerns/file_set/virus_check.rb
|
214
214
|
- lib/hydra/works/models/concerns/file_set_behavior.rb
|
215
|
-
- lib/hydra/works/models/concerns/generic_file_behavior.rb
|
216
|
-
- lib/hydra/works/models/concerns/generic_work_behavior.rb
|
217
215
|
- lib/hydra/works/models/concerns/work_behavior.rb
|
218
216
|
- lib/hydra/works/models/file_set.rb
|
219
|
-
- lib/hydra/works/models/generic_file.rb
|
220
217
|
- lib/hydra/works/models/generic_work.rb
|
221
218
|
- lib/hydra/works/models/work.rb
|
222
219
|
- lib/hydra/works/services/add_file_to_file_set.rb
|
223
|
-
- lib/hydra/works/services/add_file_to_generic_file.rb
|
224
220
|
- lib/hydra/works/services/characterization_service.rb
|
225
221
|
- lib/hydra/works/services/persist_derivative.rb
|
226
222
|
- lib/hydra/works/services/upload_file_to_file_set.rb
|
227
|
-
- lib/hydra/works/services/upload_file_to_generic_file.rb
|
228
223
|
- lib/hydra/works/version.rb
|
229
224
|
- lib/hydra/works/vocab/works_terms.rb
|
230
225
|
- lib/tasks/hydra-works_tasks.rake
|
@@ -255,7 +250,7 @@ files:
|
|
255
250
|
- spec/hydra/works/models/concerns/file_set/versioned_content_spec.rb
|
256
251
|
- spec/hydra/works/models/concerns/file_set/virus_check_spec.rb
|
257
252
|
- spec/hydra/works/models/concerns/file_set_behavior_spec.rb
|
258
|
-
- spec/hydra/works/models/
|
253
|
+
- spec/hydra/works/models/file_set_spec.rb
|
259
254
|
- spec/hydra/works/models/generic_work_spec.rb
|
260
255
|
- spec/hydra/works/services/add_file_to_file_set_spec.rb
|
261
256
|
- spec/hydra/works/services/characterization_service_spec.rb
|
@@ -273,7 +268,7 @@ files:
|
|
273
268
|
- use-cases/scholarsphere_use_case.md
|
274
269
|
- use-cases/stanford_data_model_use_case.md
|
275
270
|
- use-cases/ucin_linked_resource_use_case.md
|
276
|
-
homepage:
|
271
|
+
homepage: https://github.com/projecthydra-labs/hydra-works
|
277
272
|
licenses:
|
278
273
|
- APACHE2
|
279
274
|
metadata: {}
|
@@ -293,7 +288,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
293
288
|
version: '0'
|
294
289
|
requirements: []
|
295
290
|
rubyforge_project:
|
296
|
-
rubygems_version: 2.
|
291
|
+
rubygems_version: 2.5.0
|
297
292
|
signing_key:
|
298
293
|
specification_version: 4
|
299
294
|
summary: Fundamental repository data model for hydra
|
@@ -324,7 +319,7 @@ test_files:
|
|
324
319
|
- spec/hydra/works/models/concerns/file_set/versioned_content_spec.rb
|
325
320
|
- spec/hydra/works/models/concerns/file_set/virus_check_spec.rb
|
326
321
|
- spec/hydra/works/models/concerns/file_set_behavior_spec.rb
|
327
|
-
- spec/hydra/works/models/
|
322
|
+
- spec/hydra/works/models/file_set_spec.rb
|
328
323
|
- spec/hydra/works/models/generic_work_spec.rb
|
329
324
|
- spec/hydra/works/services/add_file_to_file_set_spec.rb
|
330
325
|
- spec/hydra/works/services/characterization_service_spec.rb
|
@@ -333,4 +328,3 @@ test_files:
|
|
333
328
|
- spec/hydra/works_spec.rb
|
334
329
|
- spec/spec_helper.rb
|
335
330
|
- spec/support/file_set_helper.rb
|
336
|
-
has_rdoc:
|
@@ -1,12 +0,0 @@
|
|
1
|
-
module Hydra::Works
|
2
|
-
# @deprecated use FileSetBehavior instead
|
3
|
-
module GenericFileBehavior
|
4
|
-
extend ActiveSupport::Concern
|
5
|
-
extend Deprecation
|
6
|
-
|
7
|
-
included do
|
8
|
-
Deprecation.warn GenericFileBehavior, "GenericFileBehavior is deprecated. Use FileSetBehavior instead. This will be removed in Hydra::Works 0.4.0"
|
9
|
-
include FileSetBehavior
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
@@ -1,12 +0,0 @@
|
|
1
|
-
module Hydra::Works
|
2
|
-
# @deprecated use Hydra::Works::WorkBehavior instead
|
3
|
-
module GenericWorkBehavior
|
4
|
-
extend ActiveSupport::Concern
|
5
|
-
extend Deprecation
|
6
|
-
self.deprecation_horizon = "Hydra::Works 0.4.0"
|
7
|
-
included do
|
8
|
-
Deprecation.warn self, "GenericWorkBehavior is deprecated. Use WorkBehavior instead. This module will be removed in Hydra::Works 0.4.0"
|
9
|
-
include Hydra::Works::WorkBehavior
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
module Hydra::Works
|
2
|
-
# Namespace for Modules with functionality specific to GenericFiles
|
3
|
-
module GenericFile
|
4
|
-
extend ActiveSupport::Concern
|
5
|
-
|
6
|
-
# @deprecated Base class for creating objects that behave like Hydra::Works::GenericFiles
|
7
|
-
class Base < ActiveFedora::Base
|
8
|
-
extend Deprecation
|
9
|
-
include Hydra::Works::FileSetBehavior
|
10
|
-
after_initialize :deprecation_warning
|
11
|
-
|
12
|
-
def deprecation_warning
|
13
|
-
Deprecation.warn Base, "Hydra::Works::FileSet is deprecated and will be removed in 0.4.0. Use Hydra::Works::FileSet instead"
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
@@ -1,8 +0,0 @@
|
|
1
|
-
module Hydra::Works
|
2
|
-
class UploadFileToGenericFile
|
3
|
-
def self.call(*args)
|
4
|
-
Deprecation.warn(UploadFileToGenericFile, "UploadFileToGenericFile is deprecated use UploadFileToFileSet. This will be removed in 0.4.0")
|
5
|
-
UploadFileToFileSet.call(*args)
|
6
|
-
end
|
7
|
-
end
|
8
|
-
end
|