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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 46447b0a05d80b4e82864971bc91aba395e786ea
4
- data.tar.gz: 0b191749296cf778f3fad1908b95a0cd13a6b93c
3
+ metadata.gz: 5a9f21e983f6370ae339bdcfadca7601534a8787
4
+ data.tar.gz: 25c675e53a7874c8b1f3f38044081239fccded2a
5
5
  SHA512:
6
- metadata.gz: 5adf6893eeaa38f0ddaab555002bb521d3654d733053a1a71235a5f9b5dacf7103d03c44118d737942bb970e985eb72183b0681e6d852a09ccd08bdf0ba182fc
7
- data.tar.gz: 4d38f341c4495e1394b549483582978c745d99d5b869dfdd75898163a795f9eda5890a5d4ddf697ddcbd762e1bd1ca004e5099caeb88f4a961d23a67c8aea29e
6
+ metadata.gz: 5a8ebb8cea13816dc6f7e8bbfdccd0ec6aec5514d4a42bb713cca6241bb8b73f1fe781b92868493415c0a6a22403269916e90429823f9ed9551d16b97e2e8d76
7
+ data.tar.gz: cd6adbe992b4d4a4d7b344544d977d1f769f4cba981323fa5830e8f51965da691f12c647084440ca046d629555755a89209628ea2eb6b9af925f2f80d219e174
@@ -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.creators.map do |c|
30
+ creators: se_resource.authors.map do |c|
31
31
  Creator.new(
32
- name: c.creator_full_name,
33
- identifier: to_dcs_identifier(c.name_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
@@ -4,7 +4,7 @@ module Stash
4
4
  NAME = 'stash-merritt'.freeze
5
5
 
6
6
  # The version of this gem
7
- VERSION = '0.1.1'.freeze
7
+ VERSION = '0.2.0'.freeze
8
8
 
9
9
  # The copyright notice for this gem
10
10
  COPYRIGHT = 'Copyright (c) 2017 The Regents of the University of California'.freeze
@@ -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.creators.each { |c| xml.send(:'dc:creator', c.creator_full_name.delete("\r").to_s) }
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
@@ -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
- # TODO: Get rid of this and use FactoryGirl or something
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
- file.to_s =~ /InstanceDouble\(Stash::Wrapper::StashFile\)/ # For RSpec tests
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| add_sd_creator(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 add_sd_creator(dcs_creator)
96
+ def add_se_author(dcs_creator)
95
97
  last_name, first_name = extract_last_first(dcs_creator.name)
96
- sd_creator = Creator.create(
97
- creator_first_name: first_name,
98
- creator_last_name: last_name,
99
- name_identifier_id: sd_name_identifier_id_for(dcs_creator.identifier),
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
- sd_creator.affiliation_ids = dcs_creator.affiliations.map { |affiliation_str| sd_affiliation_id_for(affiliation_str) }
103
- sd_creator
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
@@ -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.3, ruby-2.2.5-p319) [gem]" level="application" />
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.1.0, ruby-2.2.5-p319) [gem]" level="application" />
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.20161129, ruby-2.2.5-p319) [gem]" level="application" />
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.10.1, ruby-2.2.5-p319) [gem]" level="application" />
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.0, ruby-2.2.5-p319) [gem]" level="application" />
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.47.1, ruby-2.2.5-p319) [gem]" level="application" />
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.5, ruby-2.2.5-p319) [gem]" level="application" />
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" />
@@ -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="LoggerInitializedWithForeignClass" enabled="false" level="WARNING" enabled_by_default="false">
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.1.1
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-02-23 00:00:00.000000000 Z
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/CDLUC3/stash-merritt
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