stash-merritt 0.1.1 → 0.2.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 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