stash-merritt 0.1.1 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGES.md +16 -0
- data/lib/datacite/mapping/datacite_xml_factory.rb +12 -3
- data/lib/stash/merritt/module_info.rb +1 -1
- data/lib/stash/merritt/submission_package.rb +9 -3
- data/lib/stash/merritt/submission_package/merritt_embargo_builder.rb +21 -0
- data/lib/stash/merritt/submission_package/merritt_oaidc_builder.rb +1 -1
- data/lib/stash/merritt/submission_package/stash_wrapper_builder.rb +25 -3
- data/spec/db/stash/merritt/stash_wrapper_builder_spec.rb +122 -0
- data/spec/db/stash/merritt/submission_package_spec.rb +19 -1
- data/spec/spec_helper.rb +4 -1
- data/spec/util/resource_builder.rb +29 -10
- data/stash-merritt.iml +9 -30
- data/stash-merritt.ipr +1 -4
- metadata +7 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5a9f21e983f6370ae339bdcfadca7601534a8787
|
4
|
+
data.tar.gz: 25c675e53a7874c8b1f3f38044081239fccded2a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5a8ebb8cea13816dc6f7e8bbfdccd0ec6aec5514d4a42bb713cca6241bb8b73f1fe781b92868493415c0a6a22403269916e90429823f9ed9551d16b97e2e8d76
|
7
|
+
data.tar.gz: cd6adbe992b4d4a4d7b344544d977d1f769f4cba981323fa5830e8f51965da691f12c647084440ca046d629555755a89209628ea2eb6b9af925f2f80d219e174
|
data/CHANGES.md
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
## 0.2.0 (6 April 2017)
|
2
|
+
|
3
|
+
- add support for embargoes in `stash-wrapper.xml` and `mrt-embargo.txt`
|
4
|
+
- update to reflect new DB schema with StashEngine::Author replacing
|
5
|
+
StashDatacite::Creator
|
6
|
+
|
7
|
+
## 0.1.1 (23 February 2017)
|
8
|
+
|
9
|
+
- fix issue where uploads from previous versions would be re-added to zipfiles
|
10
|
+
for later versions
|
11
|
+
- fix issue where missing file uploads would not be logged / reported correctly
|
12
|
+
due to incorrect initialization of ArgumentError
|
13
|
+
|
14
|
+
## 0.1.0 (3 February 2017)
|
15
|
+
|
16
|
+
- initial release
|
@@ -27,10 +27,10 @@ module Datacite
|
|
27
27
|
|
28
28
|
dcs_resource = Resource.new(
|
29
29
|
identifier: Identifier.from_doi(doi_value),
|
30
|
-
creators: se_resource.
|
30
|
+
creators: se_resource.authors.map do |c|
|
31
31
|
Creator.new(
|
32
|
-
name: c.
|
33
|
-
identifier:
|
32
|
+
name: c.author_full_name,
|
33
|
+
identifier: dcs_identifier_from(c.author_orcid),
|
34
34
|
affiliations: c.affiliations.map(&:smart_name)
|
35
35
|
)
|
36
36
|
end,
|
@@ -184,6 +184,15 @@ module Datacite
|
|
184
184
|
Description.new(type: DescriptionType::OTHER, value: desc_text)
|
185
185
|
end
|
186
186
|
|
187
|
+
def dcs_identifier_from(author_orcid)
|
188
|
+
return unless author_orcid && !author_orcid.empty?
|
189
|
+
NameIdentifier.new(
|
190
|
+
scheme: 'ORCID',
|
191
|
+
scheme_uri: 'http://orcid.org/',
|
192
|
+
value: author_orcid
|
193
|
+
)
|
194
|
+
end
|
195
|
+
|
187
196
|
def to_dcs_identifier(sd_name_ident)
|
188
197
|
return unless sd_name_ident
|
189
198
|
sd_scheme_uri = sd_name_ident.scheme_URI
|
@@ -9,6 +9,7 @@ require 'stash/merritt/submission_package/merritt_datacite_builder'
|
|
9
9
|
require 'stash/merritt/submission_package/merritt_delete_builder'
|
10
10
|
require 'stash/merritt/submission_package/merritt_oaidc_builder'
|
11
11
|
require 'stash/merritt/submission_package/stash_wrapper_builder'
|
12
|
+
require 'stash/merritt/submission_package/merritt_embargo_builder'
|
12
13
|
|
13
14
|
module Stash
|
14
15
|
module Merritt
|
@@ -67,13 +68,14 @@ module Stash
|
|
67
68
|
zipfile.add(upload.upload_file_name, path)
|
68
69
|
end
|
69
70
|
|
70
|
-
def builders
|
71
|
+
def builders # rubocop:disable Metrics/AbcSize
|
71
72
|
@builders ||= [
|
72
|
-
StashWrapperBuilder.new(dcs_resource: dc4_resource, version_number: version_number, uploads: uploads),
|
73
|
+
StashWrapperBuilder.new(dcs_resource: dc4_resource, version_number: version_number, uploads: uploads, embargo_end_date: embargo_end_date),
|
73
74
|
MerrittDataciteBuilder.new(datacite_xml_factory),
|
74
75
|
MerrittOAIDCBuilder.new(resource_id: resource_id),
|
75
76
|
DataONEManifestBuilder.new(uploads),
|
76
|
-
MerrittDeleteBuilder.new(resource_id: resource_id)
|
77
|
+
MerrittDeleteBuilder.new(resource_id: resource_id),
|
78
|
+
MerrittEmbargoBuilder.new(embargo_end_date: embargo_end_date)
|
77
79
|
]
|
78
80
|
end
|
79
81
|
|
@@ -89,6 +91,10 @@ module Stash
|
|
89
91
|
resource.current_file_uploads
|
90
92
|
end
|
91
93
|
|
94
|
+
def embargo_end_date
|
95
|
+
@embargo_end_date ||= (embargo = resource.embargo) && embargo.end_date
|
96
|
+
end
|
97
|
+
|
92
98
|
def new_uploads
|
93
99
|
resource.new_file_uploads
|
94
100
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'stash/repo/file_builder'
|
2
|
+
|
3
|
+
module Stash
|
4
|
+
module Merritt
|
5
|
+
class SubmissionPackage
|
6
|
+
class MerrittEmbargoBuilder < Stash::Repo::FileBuilder
|
7
|
+
attr_reader :embargo_end_date
|
8
|
+
|
9
|
+
def initialize(embargo_end_date:)
|
10
|
+
super(file_name: 'mrt-embargo.txt')
|
11
|
+
@embargo_end_date = embargo_end_date
|
12
|
+
end
|
13
|
+
|
14
|
+
def contents
|
15
|
+
end_date_str = (embargo_end_date && embargo_end_date.iso8601)
|
16
|
+
"embargoEndDate:#{end_date_str || 'none'}"
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -55,7 +55,7 @@ module Stash
|
|
55
55
|
end
|
56
56
|
|
57
57
|
def add_creators(xml)
|
58
|
-
resource.
|
58
|
+
resource.authors.each { |c| xml.send(:'dc:creator', c.author_full_name.delete("\r").to_s) }
|
59
59
|
end
|
60
60
|
|
61
61
|
def add_pub_year(xml)
|
@@ -9,26 +9,48 @@ module Stash
|
|
9
9
|
attr_reader :dcs_resource
|
10
10
|
attr_reader :uploads
|
11
11
|
attr_reader :version_number
|
12
|
+
attr_reader :embargo_end_date
|
12
13
|
|
13
|
-
def initialize(dcs_resource:, version_number:, uploads:)
|
14
|
+
def initialize(dcs_resource:, version_number:, uploads:, embargo_end_date:)
|
14
15
|
super(file_name: 'stash-wrapper.xml')
|
15
16
|
@dcs_resource = dcs_resource
|
16
17
|
@version_number = version_number
|
17
18
|
@uploads = uploads
|
19
|
+
@embargo_end_date = date_or_nil(embargo_end_date)
|
18
20
|
end
|
19
21
|
|
20
|
-
def contents
|
22
|
+
def contents # rubocop:disable Metrics/AbcSize
|
21
23
|
StashWrapper.new(
|
22
24
|
identifier: to_sw_identifier(dcs_resource.identifier),
|
23
25
|
version: Version.new(number: version_number, date: Date.today),
|
24
26
|
license: to_sw_license(dcs_resource.rights_list),
|
25
27
|
inventory: to_sw_inventory(uploads),
|
26
|
-
descriptive_elements: [dcs_resource.save_to_xml]
|
28
|
+
descriptive_elements: [dcs_resource.save_to_xml],
|
29
|
+
embargo: to_sw_embargo(embargo_end_date)
|
27
30
|
).write_xml
|
28
31
|
end
|
29
32
|
|
30
33
|
private
|
31
34
|
|
35
|
+
def date_or_nil(embargo_end_date)
|
36
|
+
return unless embargo_end_date
|
37
|
+
return embargo_end_date if embargo_end_date.is_a?(Date)
|
38
|
+
return embargo_end_date.utc.to_date if embargo_end_date.respond_to?(:utc)
|
39
|
+
raise ArgumentError, "Specified end date #{embargo_end_date} does not appear to be a date or time"
|
40
|
+
end
|
41
|
+
|
42
|
+
def to_sw_embargo(embargo_end_date)
|
43
|
+
return unless embargo_end_date
|
44
|
+
start_date = default_start_date(embargo_end_date)
|
45
|
+
Embargo.new(type: EmbargoType::DOWNLOAD, period: EmbargoType::NONE.value, start_date: start_date, end_date: embargo_end_date)
|
46
|
+
end
|
47
|
+
|
48
|
+
def default_start_date(embargo_end_date)
|
49
|
+
start_date = Date.today
|
50
|
+
return start_date if start_date < embargo_end_date
|
51
|
+
embargo_end_date
|
52
|
+
end
|
53
|
+
|
32
54
|
def to_sw_identifier(dcs_identifier)
|
33
55
|
return unless dcs_identifier
|
34
56
|
raise "Invalid identifier type; expected DOI, was #{dcs_identifier.identifier_type}" unless dcs_identifier.identifier_type == 'DOI'
|
@@ -0,0 +1,122 @@
|
|
1
|
+
require 'db_spec_helper'
|
2
|
+
|
3
|
+
module Stash
|
4
|
+
module Merritt
|
5
|
+
class SubmissionPackage
|
6
|
+
describe StashWrapperBuilder do
|
7
|
+
attr_reader :dc4_resource
|
8
|
+
|
9
|
+
before(:each) do
|
10
|
+
tmp_wrapper_xml = File.read('spec/data/archive/stash-wrapper.xml')
|
11
|
+
tmp_wrapper = Stash::Wrapper::StashWrapper.parse_xml(tmp_wrapper_xml)
|
12
|
+
dc4_xml = tmp_wrapper.stash_descriptive[0]
|
13
|
+
@dc4_resource = Datacite::Mapping::Resource.parse_xml(dc4_xml)
|
14
|
+
end
|
15
|
+
|
16
|
+
describe 'embargo' do
|
17
|
+
it 'defaults to NONE' do
|
18
|
+
builder = StashWrapperBuilder.new(
|
19
|
+
dcs_resource: dc4_resource,
|
20
|
+
version_number: 1,
|
21
|
+
uploads: [],
|
22
|
+
embargo_end_date: nil
|
23
|
+
)
|
24
|
+
wrapper_xml = builder.contents
|
25
|
+
wrapper = Stash::Wrapper::StashWrapper.parse_xml(wrapper_xml)
|
26
|
+
embargo = wrapper.embargo
|
27
|
+
|
28
|
+
none = Stash::Wrapper::Embargo.none
|
29
|
+
[:type, :period, :start_date, :end_date].each do |field|
|
30
|
+
expect(embargo.send(field)).to eq(none.send(field))
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
it 'accepts an end date' do
|
35
|
+
embargo_end_date = Date.new(1952, 2, 6)
|
36
|
+
|
37
|
+
builder = StashWrapperBuilder.new(
|
38
|
+
dcs_resource: dc4_resource,
|
39
|
+
version_number: 1,
|
40
|
+
uploads: [],
|
41
|
+
embargo_end_date: embargo_end_date
|
42
|
+
)
|
43
|
+
wrapper_xml = builder.contents
|
44
|
+
wrapper = Stash::Wrapper::StashWrapper.parse_xml(wrapper_xml)
|
45
|
+
embargo = wrapper.embargo
|
46
|
+
|
47
|
+
expect(embargo.type).to eq(Stash::Wrapper::EmbargoType::DOWNLOAD)
|
48
|
+
expect(embargo.end_date).to eq(embargo_end_date)
|
49
|
+
expect(embargo.start_date).to be <= embargo.end_date
|
50
|
+
end
|
51
|
+
|
52
|
+
it 'accepts a non-UTC end date' do
|
53
|
+
embargo_end_date = Date.new(2122, 2, 6)
|
54
|
+
|
55
|
+
builder = StashWrapperBuilder.new(
|
56
|
+
dcs_resource: dc4_resource,
|
57
|
+
version_number: 1,
|
58
|
+
uploads: [],
|
59
|
+
embargo_end_date: embargo_end_date
|
60
|
+
)
|
61
|
+
wrapper_xml = builder.contents
|
62
|
+
wrapper = Stash::Wrapper::StashWrapper.parse_xml(wrapper_xml)
|
63
|
+
embargo = wrapper.embargo
|
64
|
+
|
65
|
+
expect(embargo.type).to eq(Stash::Wrapper::EmbargoType::DOWNLOAD)
|
66
|
+
expect(embargo.end_date).to eq(embargo_end_date)
|
67
|
+
expect(embargo.start_date).to be <= embargo.end_date
|
68
|
+
end
|
69
|
+
|
70
|
+
it 'accepts a UTC time' do
|
71
|
+
embargo_end_time = Time.now.utc
|
72
|
+
expected_end_date = embargo_end_time.to_date
|
73
|
+
|
74
|
+
builder = StashWrapperBuilder.new(
|
75
|
+
dcs_resource: dc4_resource,
|
76
|
+
version_number: 1,
|
77
|
+
uploads: [],
|
78
|
+
embargo_end_date: embargo_end_time
|
79
|
+
)
|
80
|
+
wrapper_xml = builder.contents
|
81
|
+
wrapper = Stash::Wrapper::StashWrapper.parse_xml(wrapper_xml)
|
82
|
+
embargo = wrapper.embargo
|
83
|
+
|
84
|
+
expect(embargo.type).to eq(Stash::Wrapper::EmbargoType::DOWNLOAD)
|
85
|
+
expect(embargo.end_date).to eq(expected_end_date)
|
86
|
+
expect(embargo.start_date).to be <= embargo.end_date
|
87
|
+
end
|
88
|
+
|
89
|
+
it 'converts a non-UTC time to UTC date' do
|
90
|
+
embargo_end_time = Time.new(2020, 1, 1, 0, 0, 1, '+12:45')
|
91
|
+
expected_end_date = Date.new(2019, 12, 31)
|
92
|
+
|
93
|
+
builder = StashWrapperBuilder.new(
|
94
|
+
dcs_resource: dc4_resource,
|
95
|
+
version_number: 1,
|
96
|
+
uploads: [],
|
97
|
+
embargo_end_date: embargo_end_time
|
98
|
+
)
|
99
|
+
wrapper_xml = builder.contents
|
100
|
+
wrapper = Stash::Wrapper::StashWrapper.parse_xml(wrapper_xml)
|
101
|
+
embargo = wrapper.embargo
|
102
|
+
|
103
|
+
expect(embargo.type).to eq(Stash::Wrapper::EmbargoType::DOWNLOAD)
|
104
|
+
expect(embargo.end_date).to eq(expected_end_date)
|
105
|
+
expect(embargo.start_date).to be <= embargo.end_date
|
106
|
+
end
|
107
|
+
|
108
|
+
it 'rejects a non-date' do
|
109
|
+
expect do
|
110
|
+
StashWrapperBuilder.new(
|
111
|
+
dcs_resource: dc4_resource,
|
112
|
+
version_number: 1,
|
113
|
+
uploads: [],
|
114
|
+
embargo_end_date: Time.now.xmlschema
|
115
|
+
)
|
116
|
+
end.to raise_error(ArgumentError)
|
117
|
+
end
|
118
|
+
end
|
119
|
+
end
|
120
|
+
end
|
121
|
+
end
|
122
|
+
end
|
@@ -120,7 +120,7 @@ module Stash
|
|
120
120
|
end
|
121
121
|
end
|
122
122
|
|
123
|
-
it 'includes a delete list' do
|
123
|
+
it 'includes a delete list if needed' do
|
124
124
|
deleted = []
|
125
125
|
resource.file_uploads.each_with_index do |upload, index|
|
126
126
|
next unless index.even?
|
@@ -136,6 +136,24 @@ module Stash
|
|
136
136
|
expect(mrt_delete).to include(filename)
|
137
137
|
end
|
138
138
|
end
|
139
|
+
|
140
|
+
describe 'mrt-embargo.txt' do
|
141
|
+
it 'includes the embargo end date if present' do
|
142
|
+
end_date = Time.new(2020, 1, 1, 0, 0, 1, '+12:45')
|
143
|
+
resource.embargo = StashEngine::Embargo.new(end_date: end_date)
|
144
|
+
package = SubmissionPackage.new(resource: resource)
|
145
|
+
@zipfile_path = package.zipfile
|
146
|
+
mrt_embargo = zip_entry('mrt-embargo.txt')
|
147
|
+
expect(mrt_embargo.strip).to eq('embargoEndDate:2019-12-31T11:15:01Z')
|
148
|
+
end
|
149
|
+
|
150
|
+
it 'sets end date to none if no end date present' do
|
151
|
+
package = SubmissionPackage.new(resource: resource)
|
152
|
+
@zipfile_path = package.zipfile
|
153
|
+
mrt_embargo = zip_entry('mrt-embargo.txt')
|
154
|
+
expect(mrt_embargo.strip).to eq('embargoEndDate:none')
|
155
|
+
end
|
156
|
+
end
|
139
157
|
end
|
140
158
|
|
141
159
|
describe :dc3_xml do
|
data/spec/spec_helper.rb
CHANGED
@@ -43,6 +43,7 @@ ENV['RAILS_ENV'] = 'test'
|
|
43
43
|
|
44
44
|
stash_engine_path = Gem::Specification.find_by_name('stash_engine').gem_dir
|
45
45
|
require "#{stash_engine_path}/config/initializers/hash_to_ostruct.rb"
|
46
|
+
require "#{stash_engine_path}/config/initializers/inflections.rb"
|
46
47
|
|
47
48
|
require 'stash_engine'
|
48
49
|
|
@@ -56,6 +57,8 @@ require 'stash_engine'
|
|
56
57
|
Dir.glob("#{stash_engine_path}/#{dir}/**/*.rb").sort.each(&method(:require))
|
57
58
|
end
|
58
59
|
|
60
|
+
$LOAD_PATH.unshift("#{stash_engine_path}/app/models")
|
61
|
+
|
59
62
|
# ------------------------------------------------------------
|
60
63
|
# StashDatacite
|
61
64
|
|
@@ -75,8 +78,8 @@ stash_datacite_path = Gem::Specification.find_by_name('stash_datacite').gem_dir
|
|
75
78
|
).each do |dir|
|
76
79
|
Dir.glob("#{stash_datacite_path}/#{dir}/**/*.rb").sort.each(&method(:require))
|
77
80
|
end
|
78
|
-
|
79
81
|
StashDatacite::ResourcePatch.associate_with_resource(StashEngine::Resource)
|
82
|
+
require "#{stash_datacite_path}/config/initializers/patches.rb"
|
80
83
|
|
81
84
|
require 'util/resource_builder'
|
82
85
|
|
@@ -1,8 +1,10 @@
|
|
1
|
+
require 'db_spec_helper'
|
2
|
+
|
1
3
|
require 'datacite/mapping'
|
2
4
|
require 'stash/wrapper'
|
3
5
|
require 'time'
|
4
6
|
|
5
|
-
#
|
7
|
+
# Borrowed from stash_migrator
|
6
8
|
module StashDatacite
|
7
9
|
class ResourceBuilder # rubocop:disable Metrics/ClassLength
|
8
10
|
DESCRIPTION_TYPE = Datacite::Mapping::DescriptionType
|
@@ -28,7 +30,7 @@ module StashDatacite
|
|
28
30
|
def self.stash_files(stash_files)
|
29
31
|
return stash_files if stash_files.all? do |file|
|
30
32
|
file.is_a?(Stash::Wrapper::StashFile) ||
|
31
|
-
|
33
|
+
file.to_s =~ /InstanceDouble\(Stash::Wrapper::StashFile\)/ # For RSpec tests
|
32
34
|
end
|
33
35
|
raise ArgumentError, "stash_files does not appear to be an array of Stash::Wrapper::StashFile objects: #{stash_files || 'nil'}"
|
34
36
|
end
|
@@ -50,7 +52,7 @@ module StashDatacite
|
|
50
52
|
def populate_se_resource! # rubocop:disable Metrics/AbcSize
|
51
53
|
set_sd_identifier(dcs_resource.identifier)
|
52
54
|
stash_files.each { |stash_file| add_stash_file(stash_file) }
|
53
|
-
dcs_resource.creators.each { |dcs_creator|
|
55
|
+
dcs_resource.creators.each { |dcs_creator| add_se_author(dcs_creator) }
|
54
56
|
dcs_resource.titles.each { |dcs_title| add_sd_title(dcs_title) }
|
55
57
|
set_sd_publisher(dcs_resource.publisher)
|
56
58
|
set_sd_pubyear(dcs_resource.publication_year)
|
@@ -91,16 +93,17 @@ module StashDatacite
|
|
91
93
|
)
|
92
94
|
end
|
93
95
|
|
94
|
-
def
|
96
|
+
def add_se_author(dcs_creator)
|
95
97
|
last_name, first_name = extract_last_first(dcs_creator.name)
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
98
|
+
se_author = StashEngine::Author.create(
|
99
|
+
author_first_name: first_name,
|
100
|
+
author_last_name: last_name,
|
101
|
+
author_email: email_from(dcs_creator.identifier),
|
102
|
+
author_orcid: orcid_from(dcs_creator.identifier),
|
100
103
|
resource_id: se_resource_id
|
101
104
|
)
|
102
|
-
|
103
|
-
|
105
|
+
se_author.affiliation_ids = dcs_creator.affiliations.map { |affiliation_str| sd_affiliation_id_for(affiliation_str) }
|
106
|
+
se_author
|
104
107
|
end
|
105
108
|
|
106
109
|
def add_sd_title(dcs_title)
|
@@ -308,6 +311,22 @@ module StashDatacite
|
|
308
311
|
StashDatacite::Affiliation.create(long_name: affiliation_str).id unless affiliation_str.blank?
|
309
312
|
end
|
310
313
|
|
314
|
+
def email_from(dcs_name_identifier)
|
315
|
+
return unless dcs_name_identifier
|
316
|
+
return unless 'email' == dcs_name_identifier.scheme
|
317
|
+
value = dcs_name_identifier.value
|
318
|
+
return unless value
|
319
|
+
value.to_s.strip.sub('mailto:', '')
|
320
|
+
end
|
321
|
+
|
322
|
+
def orcid_from(dcs_name_identifier)
|
323
|
+
return unless dcs_name_identifier
|
324
|
+
return unless 'ORCID' == dcs_name_identifier.scheme
|
325
|
+
value = dcs_name_identifier.value
|
326
|
+
return unless value
|
327
|
+
value.to_s.strip
|
328
|
+
end
|
329
|
+
|
311
330
|
def sd_name_identifier_id_for(dcs_name_identifier)
|
312
331
|
return nil unless dcs_name_identifier
|
313
332
|
scheme_uri = dcs_name_identifier.scheme_uri
|
data/stash-merritt.iml
CHANGED
@@ -7,29 +7,6 @@
|
|
7
7
|
<content url="file://$MODULE_DIR$/../stash_engines/stash_engine" />
|
8
8
|
<orderEntry type="jdk" jdkName="ruby-2.2.5-p319" jdkType="RUBY_SDK" />
|
9
9
|
<orderEntry type="sourceFolder" forTests="false" />
|
10
|
-
<orderEntry type="module-library">
|
11
|
-
<library name="stash_datacite (v0.0.5) [path][gem]">
|
12
|
-
<CLASSES>
|
13
|
-
<root url="file://$MODULE_DIR$/../stash_engines/stash_datacite/db" />
|
14
|
-
<root url="file://$MODULE_DIR$/../stash_engines/stash_datacite/app" />
|
15
|
-
<root url="file://$MODULE_DIR$/../stash_engines/stash_datacite/bin" />
|
16
|
-
<root url="file://$MODULE_DIR$/../stash_engines/stash_datacite/lib" />
|
17
|
-
<root url="file://$MODULE_DIR$/../stash_engines/stash_datacite/tmp" />
|
18
|
-
<root url="file://$MODULE_DIR$/../stash_engines/stash_datacite/config" />
|
19
|
-
<root url="file://$MODULE_DIR$/../stash_engines/stash_datacite/coverage" />
|
20
|
-
</CLASSES>
|
21
|
-
<JAVADOC />
|
22
|
-
<SOURCES>
|
23
|
-
<root url="file://$MODULE_DIR$/../stash_engines/stash_datacite/db" />
|
24
|
-
<root url="file://$MODULE_DIR$/../stash_engines/stash_datacite/app" />
|
25
|
-
<root url="file://$MODULE_DIR$/../stash_engines/stash_datacite/bin" />
|
26
|
-
<root url="file://$MODULE_DIR$/../stash_engines/stash_datacite/lib" />
|
27
|
-
<root url="file://$MODULE_DIR$/../stash_engines/stash_datacite/tmp" />
|
28
|
-
<root url="file://$MODULE_DIR$/../stash_engines/stash_datacite/config" />
|
29
|
-
<root url="file://$MODULE_DIR$/../stash_engines/stash_datacite/coverage" />
|
30
|
-
</SOURCES>
|
31
|
-
</library>
|
32
|
-
</orderEntry>
|
33
10
|
<orderEntry type="library" scope="PROVIDED" name="actionmailer (v4.2.7.1, ruby-2.2.5-p319) [gem]" level="application" />
|
34
11
|
<orderEntry type="library" scope="PROVIDED" name="actionpack (v4.2.7.1, ruby-2.2.5-p319) [gem]" level="application" />
|
35
12
|
<orderEntry type="library" scope="PROVIDED" name="actionview (v4.2.7.1, ruby-2.2.5-p319) [gem]" level="application" />
|
@@ -42,7 +19,7 @@
|
|
42
19
|
<orderEntry type="library" scope="PROVIDED" name="arel (v6.0.4, ruby-2.2.5-p319) [gem]" level="application" />
|
43
20
|
<orderEntry type="library" scope="PROVIDED" name="ast (v2.3.0, ruby-2.2.5-p319) [gem]" level="application" />
|
44
21
|
<orderEntry type="library" scope="PROVIDED" name="builder (v3.2.3, ruby-2.2.5-p319) [gem]" level="application" />
|
45
|
-
<orderEntry type="library" scope="PROVIDED" name="bundler (v1.14.
|
22
|
+
<orderEntry type="library" scope="PROVIDED" name="bundler (v1.14.6, ruby-2.2.5-p319) [gem]" level="application" />
|
46
23
|
<orderEntry type="library" scope="PROVIDED" name="carrierwave (v0.10.0, ruby-2.2.5-p319) [gem]" level="application" />
|
47
24
|
<orderEntry type="library" scope="PROVIDED" name="colorize (v0.8.1, ruby-2.2.5-p319) [gem]" level="application" />
|
48
25
|
<orderEntry type="library" scope="PROVIDED" name="concurrent-ruby (v1.0.4, ruby-2.2.5-p319) [gem]" level="application" />
|
@@ -50,13 +27,13 @@
|
|
50
27
|
<orderEntry type="library" scope="PROVIDED" name="database_cleaner (v1.5.3, ruby-2.2.5-p319) [gem]" level="application" />
|
51
28
|
<orderEntry type="library" scope="PROVIDED" name="datacite-mapping (v0.2.5, ruby-2.2.5-p319) [gem]" level="application" />
|
52
29
|
<orderEntry type="library" scope="PROVIDED" name="diff-lcs (v1.3, ruby-2.2.5-p319) [gem]" level="application" />
|
53
|
-
<orderEntry type="library" scope="PROVIDED" name="diffy (v3.
|
30
|
+
<orderEntry type="library" scope="PROVIDED" name="diffy (v3.2.0, ruby-2.2.5-p319) [gem]" level="application" />
|
54
31
|
<orderEntry type="library" scope="PROVIDED" name="docile (v1.1.5, ruby-2.2.5-p319) [gem]" level="application" />
|
55
|
-
<orderEntry type="library" scope="PROVIDED" name="domain_name (v0.5.
|
32
|
+
<orderEntry type="library" scope="PROVIDED" name="domain_name (v0.5.20170223, ruby-2.2.5-p319) [gem]" level="application" />
|
56
33
|
<orderEntry type="library" scope="PROVIDED" name="equivalent-xml (v0.6.0, ruby-2.2.5-p319) [gem]" level="application" />
|
57
34
|
<orderEntry type="library" scope="PROVIDED" name="erubis (v2.7.0, ruby-2.2.5-p319) [gem]" level="application" />
|
58
35
|
<orderEntry type="library" scope="PROVIDED" name="ezid-client (v1.5.0, ruby-2.2.5-p319) [gem]" level="application" />
|
59
|
-
<orderEntry type="library" scope="PROVIDED" name="faraday (v0.
|
36
|
+
<orderEntry type="library" scope="PROVIDED" name="faraday (v0.11.0, ruby-2.2.5-p319) [gem]" level="application" />
|
60
37
|
<orderEntry type="library" scope="PROVIDED" name="filesize (v0.1.1, ruby-2.2.5-p319) [gem]" level="application" />
|
61
38
|
<orderEntry type="library" scope="PROVIDED" name="font-awesome-rails (v4.7.0.1, ruby-2.2.5-p319) [gem]" level="application" />
|
62
39
|
<orderEntry type="library" scope="PROVIDED" name="globalid (v0.3.7, ruby-2.2.5-p319) [gem]" level="application" />
|
@@ -64,6 +41,7 @@
|
|
64
41
|
<orderEntry type="library" scope="PROVIDED" name="hashie (v3.5.1, ruby-2.2.5-p319) [gem]" level="application" />
|
65
42
|
<orderEntry type="library" scope="PROVIDED" name="hirb (v0.7.3, ruby-2.2.5-p319) [gem]" level="application" />
|
66
43
|
<orderEntry type="library" scope="PROVIDED" name="http-cookie (v1.0.3, ruby-2.2.5-p319) [gem]" level="application" />
|
44
|
+
<orderEntry type="library" scope="PROVIDED" name="httpclient (v2.8.3, ruby-2.2.5-p319) [gem]" level="application" />
|
67
45
|
<orderEntry type="library" scope="PROVIDED" name="i18n (v0.8.0, ruby-2.2.5-p319) [gem]" level="application" />
|
68
46
|
<orderEntry type="library" scope="PROVIDED" name="jquery-fileupload-rails (v0.4.7, ruby-2.2.5-p319) [gem]" level="application" />
|
69
47
|
<orderEntry type="library" scope="PROVIDED" name="jquery-rails (v4.2.2, ruby-2.2.5-p319) [gem]" level="application" />
|
@@ -87,7 +65,7 @@
|
|
87
65
|
<orderEntry type="library" scope="PROVIDED" name="mysql2 (v0.4.5, ruby-2.2.5-p319) [gem]" level="application" />
|
88
66
|
<orderEntry type="library" scope="PROVIDED" name="netrc (v0.11.0, ruby-2.2.5-p319) [gem]" level="application" />
|
89
67
|
<orderEntry type="library" scope="PROVIDED" name="nokogiri (v1.7.0.1, ruby-2.2.5-p319) [gem]" level="application" />
|
90
|
-
<orderEntry type="library" scope="PROVIDED" name="oauth2 (v1.3.
|
68
|
+
<orderEntry type="library" scope="PROVIDED" name="oauth2 (v1.3.1, ruby-2.2.5-p319) [gem]" level="application" />
|
91
69
|
<orderEntry type="library" scope="PROVIDED" name="omniauth (v1.2.2, ruby-2.2.5-p319) [gem]" level="application" />
|
92
70
|
<orderEntry type="library" scope="PROVIDED" name="omniauth-google-oauth2 (v0.2.10, ruby-2.2.5-p319) [gem]" level="application" />
|
93
71
|
<orderEntry type="library" scope="PROVIDED" name="omniauth-oauth2 (v1.3.1, ruby-2.2.5-p319) [gem]" level="application" />
|
@@ -113,7 +91,7 @@
|
|
113
91
|
<orderEntry type="library" scope="PROVIDED" name="rspec-expectations (v3.5.0, ruby-2.2.5-p319) [gem]" level="application" />
|
114
92
|
<orderEntry type="library" scope="PROVIDED" name="rspec-mocks (v3.5.0, ruby-2.2.5-p319) [gem]" level="application" />
|
115
93
|
<orderEntry type="library" scope="PROVIDED" name="rspec-support (v3.5.0, ruby-2.2.5-p319) [gem]" level="application" />
|
116
|
-
<orderEntry type="library" scope="PROVIDED" name="rubocop (v0.
|
94
|
+
<orderEntry type="library" scope="PROVIDED" name="rubocop (v0.48.1, ruby-2.2.5-p319) [gem]" level="application" />
|
117
95
|
<orderEntry type="library" scope="PROVIDED" name="ruby-progressbar (v1.8.1, ruby-2.2.5-p319) [gem]" level="application" />
|
118
96
|
<orderEntry type="library" scope="PROVIDED" name="rubyzip (v1.2.1, ruby-2.2.5-p319) [gem]" level="application" />
|
119
97
|
<orderEntry type="library" scope="PROVIDED" name="safe_yaml (v1.0.4, ruby-2.2.5-p319) [gem]" level="application" />
|
@@ -123,7 +101,7 @@
|
|
123
101
|
<orderEntry type="library" scope="PROVIDED" name="simplecov-html (v0.9.0, ruby-2.2.5-p319) [gem]" level="application" />
|
124
102
|
<orderEntry type="library" scope="PROVIDED" name="sprockets (v3.7.1, ruby-2.2.5-p319) [gem]" level="application" />
|
125
103
|
<orderEntry type="library" scope="PROVIDED" name="sprockets-rails (v3.2.0, ruby-2.2.5-p319) [gem]" level="application" />
|
126
|
-
<orderEntry type="library" scope="PROVIDED" name="stash-sword (v0.1.
|
104
|
+
<orderEntry type="library" scope="PROVIDED" name="stash-sword (v0.1.6, ruby-2.2.5-p319) [gem]" level="application" />
|
127
105
|
<orderEntry type="library" scope="PROVIDED" name="stash-wrapper (v0.1.11.1, ruby-2.2.5-p319) [gem]" level="application" />
|
128
106
|
<orderEntry type="library" scope="PROVIDED" name="stash_ezid_datacite (v0.1.5, ruby-2.2.5-p319) [gem]" level="application" />
|
129
107
|
<orderEntry type="library" scope="PROVIDED" name="thor (v0.19.4, ruby-2.2.5-p319) [gem]" level="application" />
|
@@ -141,6 +119,7 @@
|
|
141
119
|
<orderEntry type="library" scope="PROVIDED" name="xml-mapping (v0.10.0, ruby-2.2.5-p319) [gem]" level="application" />
|
142
120
|
<orderEntry type="library" scope="PROVIDED" name="xml-mapping_extensions (v0.4.7, ruby-2.2.5-p319) [gem]" level="application" />
|
143
121
|
<orderEntry type="library" scope="PROVIDED" name="yard (v0.9.8, ruby-2.2.5-p319) [gem]" level="application" />
|
122
|
+
<orderEntry type="library" scope="PROVIDED" name="zeroclipboard-rails (v0.1.2, ruby-2.2.5-p319) [gem]" level="application" />
|
144
123
|
</component>
|
145
124
|
<component name="RModuleSettingsStorage">
|
146
125
|
<LOAD_PATH number="2" string0="$MODULE_DIR$/lib" string1="$MODULE_DIR$/spec" />
|
data/stash-merritt.ipr
CHANGED
@@ -52,10 +52,7 @@
|
|
52
52
|
<component name="InspectionProjectProfileManager">
|
53
53
|
<profile version="1.0">
|
54
54
|
<option name="myName" value="Project Default" />
|
55
|
-
<inspection_tool class="
|
56
|
-
<option name="loggerClassName" value="org.apache.log4j.Logger,org.slf4j.LoggerFactory,org.apache.commons.logging.LogFactory,java.util.logging.Logger" />
|
57
|
-
<option name="loggerFactoryMethodName" value="getLogger,getLogger,getLog,getLogger" />
|
58
|
-
</inspection_tool>
|
55
|
+
<inspection_tool class="Rubocop" enabled="false" level="WARNING" enabled_by_default="false" />
|
59
56
|
<inspection_tool class="RubyClassVariableUsageInspection" enabled="false" level="WARNING" enabled_by_default="false" />
|
60
57
|
<inspection_tool class="RubyQuotedStringsInspection" enabled="true" level="WARNING" enabled_by_default="true" />
|
61
58
|
<inspection_tool class="RubyResolve" enabled="true" level="WEAK WARNING" enabled_by_default="true">
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stash-merritt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Moles
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-04-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubyzip
|
@@ -245,6 +245,7 @@ files:
|
|
245
245
|
- ".rubocop.yml"
|
246
246
|
- ".ruby-version"
|
247
247
|
- ".travis.yml"
|
248
|
+
- CHANGES.md
|
248
249
|
- Gemfile
|
249
250
|
- LICENSE.md
|
250
251
|
- README.md
|
@@ -260,6 +261,7 @@ files:
|
|
260
261
|
- lib/stash/merritt/submission_package/data_one_manifest_builder.rb
|
261
262
|
- lib/stash/merritt/submission_package/merritt_datacite_builder.rb
|
262
263
|
- lib/stash/merritt/submission_package/merritt_delete_builder.rb
|
264
|
+
- lib/stash/merritt/submission_package/merritt_embargo_builder.rb
|
263
265
|
- lib/stash/merritt/submission_package/merritt_oaidc_builder.rb
|
264
266
|
- lib/stash/merritt/submission_package/stash_wrapper_builder.rb
|
265
267
|
- lib/stash/merritt/sword_helper.rb
|
@@ -275,6 +277,7 @@ files:
|
|
275
277
|
- spec/data/dc4-with-funding-references.xml
|
276
278
|
- spec/db/datacite/mapping/datacite_xml_factory_spec.rb
|
277
279
|
- spec/db/stash/merritt/merritt_oaidc_builder_spec.rb
|
280
|
+
- spec/db/stash/merritt/stash_wrapper_builder_spec.rb
|
278
281
|
- spec/db/stash/merritt/submission_package_spec.rb
|
279
282
|
- spec/db/stash/merritt/sword_helper_spec.rb
|
280
283
|
- spec/db_spec_helper.rb
|
@@ -288,7 +291,7 @@ files:
|
|
288
291
|
- stash-merritt.iml
|
289
292
|
- stash-merritt.ipr
|
290
293
|
- travis-local-deps.sh
|
291
|
-
homepage: http://github.com/
|
294
|
+
homepage: http://github.com/stash-merritt
|
292
295
|
licenses:
|
293
296
|
- MIT
|
294
297
|
metadata: {}
|
@@ -325,6 +328,7 @@ test_files:
|
|
325
328
|
- spec/data/dc4-with-funding-references.xml
|
326
329
|
- spec/db/datacite/mapping/datacite_xml_factory_spec.rb
|
327
330
|
- spec/db/stash/merritt/merritt_oaidc_builder_spec.rb
|
331
|
+
- spec/db/stash/merritt/stash_wrapper_builder_spec.rb
|
328
332
|
- spec/db/stash/merritt/submission_package_spec.rb
|
329
333
|
- spec/db/stash/merritt/sword_helper_spec.rb
|
330
334
|
- spec/db_spec_helper.rb
|