stash-merritt 0.1.0 → 0.1.1

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: f0929e76df292579509bd760cc6906f3886b1474
4
- data.tar.gz: ddbafc67e4487606a13aee6116f0dad9e68371e8
3
+ metadata.gz: 46447b0a05d80b4e82864971bc91aba395e786ea
4
+ data.tar.gz: 0b191749296cf778f3fad1908b95a0cd13a6b93c
5
5
  SHA512:
6
- metadata.gz: 23e692e54ed88c08abdd8ec2b67c942913e4b37e10186a4b208714c06fe5becb56f32594944e5e49469052c0bd7e48361abeba2704df0f3eca5f25070fc9f6ee
7
- data.tar.gz: 8ef7aaa13b2fdd46602150e35feb45379ee1616a87b03f9d892bcf0521c26742efb0556037197028095039f71b488403b25a4282e3d52eea12610e498156a73a
6
+ metadata.gz: 5adf6893eeaa38f0ddaab555002bb521d3654d733053a1a71235a5f9b5dacf7103d03c44118d737942bb970e985eb72183b0681e6d852a09ccd08bdf0ba182fc
7
+ data.tar.gz: 4d38f341c4495e1394b549483582978c745d99d5b869dfdd75898163a795f9eda5890a5d4ddf697ddcbd762e1bd1ca004e5099caeb88f4a961d23a67c8aea29e
data/.gitignore CHANGED
@@ -1,3 +1,8 @@
1
+ #### Misc
2
+
3
+ Gemfile.lock
4
+ .rubocop_todo.yml
5
+
1
6
  #### joe made this: http://goel.io/joe
2
7
 
3
8
  #### ruby ####
data/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # Stash::Merritt
2
2
 
3
- [![Build Status](https://travis-ci.org/CDLUC3/stash-merritt.svg?branch=master)](https://travis-ci.org/CDLUC3/stash-merritt)
4
- [![Code Climate](https://codeclimate.com/github/CDLUC3/stash-merritt.svg)](https://codeclimate.com/github/CDLUC3/stash-merritt)
3
+ [![Build Status](https://travis-ci.org/CDLUC3/stash-merritt.svg)](https://travis-ci.org/CDLUC3/stash-merritt)
4
+ [![Code Climate](https://codeclimate.com/github/CDLUC3/stash-merritt.svg)](https://codeclimate.com/github/CDLUC3/stash-merritt)
5
5
  [![Inline docs](http://inch-ci.org/github/CDLUC3/stash-merritt.svg)](http://inch-ci.org/github/CDLUC3/stash-merritt)
6
6
 
7
7
  Packaging and
@@ -12,27 +12,49 @@ deposit module for submitting
12
12
 
13
13
  ## Submission process
14
14
 
15
- 1. mint a new DOI with EZID, if not already present
16
- 1. generate:
17
- - Datacite XML, including DOI
18
- - Stash wrapper XML
19
- - Dublin Core metadata XML
20
- - DataONE manifest
21
- - `mrt-delete.txt`, if needed
22
- 1. create ZIP archive including:
23
- - Datacite XML
24
- - Stash wrapper XML
25
- - DublinCore XML
26
- - DataONE manifest
27
- - `mrt-delete.txt`, if present
28
- - all user-uploaded files
29
- 1. submit to SWORD
30
- 1. determine landing page URL based on DOI
31
- 1. submit Datacite XML and landing page URL to EZID
32
- 1. clean up temporary files
15
+ The `Stash::Merritt::SubmissionJob` class does the following:
16
+
17
+ 1. if no identifier is present, mint a new DOI with EZID
18
+ (using the [ezid-client](https://github.com/duke-libraries/ezid-client) gem)
19
+ and assign it to the resource
20
+ 1. generate a ZIP package containing:
21
+
22
+ | filename | purpose |
23
+ | -------- | ------- |
24
+ | `stash-wrapper.xml` | [Stash wrapper](https://github.com/CDLUC3/stash-wrapper), including [Datacite 4](https://schema.datacite.org/meta/kernel-4.0/) XML |
25
+ | `mrt-datacite.xml` | [Datacite 3](https://schema.datacite.org/meta/kernel-3/) XML, for Merritt internal use. |
26
+ | `mrt-oaidc.xml` | Dublin Core metadata, packaged in [oai_dc](https://www.openarchives.org/OAI/openarchivesprotocol.html#dublincore) format for [OAI-PMH](https://www.openarchives.org/OAI/openarchivesprotocol.html) compliance |
27
+ | `mrt-dataone-manifest.txt` | legacy [DataONE manifest](http://cdluc3.github.io/dash/release-criteria/)* |
28
+ | `mrt-delete.txt` | list of files to be deleted in this version, if any |
29
+
30
+ \* Note that the DataONE manifest is generated for all tenants, not just DataONE.
31
+
32
+ 1. using the [stash-sword](https://github.com/CDLUC3/stash-sword) gem, submit the
33
+ package to Merritt via [SWORD 2.0](http://swordapp.github.io/SWORDv2-Profile/SWORDProfile.html);
34
+ update the `download_uri` and `update_uri` of the resource if not present
35
+ 1. set the resource `version_zipfile`
36
+ 1. again via [ezid-client](https://github.com/duke-libraries/ezid-client), update the
37
+ target URL (landing page) and Datacite 3 metadata for the DOI
38
+ 1. clean up uploads and other temporary files
39
+ 1. returns a successful `SubmissionResult`
40
+
41
+ If at any point one of these steps fails, the job exits with a failed `SubmissionResult`.
33
42
 
34
43
  ## Development
35
44
 
45
+ ### Dependencies
46
+
47
+ stash-merritt expects to find the [stash_engine](https://github.com/CDLUC3/stash_engine) and
48
+ [stash_datacite](https://github.com/CDLUC3/stash_datacite) source locally under
49
+ a sister directory `stash_engines`:
50
+
51
+ ```
52
+ ┬── stash-merritt
53
+ └── stash_engines
54
+ ├── stash_datacite
55
+ └── stash_engine
56
+ ```
57
+
36
58
  ### Test database creation
37
59
 
38
60
  For compatibility with Travis, you need
@@ -47,7 +69,7 @@ This should look something like:
47
69
  ```
48
70
  $ mysql -u root
49
71
  mysql> create user 'travis'@'localhost';
50
- mysql> create database 'stash_merritt' character set UTF8mb4 collate utf8mb4_bin;
51
- mysql> use 'stash_merritt';
52
- mysql> grant all on 'stash_merritt'.* to 'travis'@'localhost';
72
+ mysql> create database stash_merritt character set UTF8mb4 collate utf8mb4_bin;
73
+ mysql> use stash_merritt;
74
+ mysql> grant all on stash_merritt.* to 'travis'@'localhost';
53
75
  ```
@@ -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.0'.freeze
7
+ VERSION = '0.1.1'.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
@@ -40,7 +40,7 @@ module Stash
40
40
  zipfile_path = File.join(workdir, "#{resource_id}_archive.zip")
41
41
  Zip::File.open(zipfile_path, Zip::File::CREATE) do |zipfile|
42
42
  builders.each { |builder| write_to_zipfile(zipfile, builder) }
43
- uploads.each { |upload| add_to_zipfile(zipfile, upload) }
43
+ new_uploads.each { |upload| add_to_zipfile(zipfile, upload) }
44
44
  end
45
45
  zipfile_path
46
46
  end
@@ -63,32 +63,18 @@ module Stash
63
63
 
64
64
  def add_to_zipfile(zipfile, upload)
65
65
  path = File.join(resource.upload_dir, upload.upload_file_name)
66
- raise ArgumentError("Upload file '#{upload.upload_file_name}' not found in directory #{resource.upload_dir}") unless File.exist?(path)
66
+ raise ArgumentError, "Upload file '#{upload.upload_file_name}' not found in directory #{resource.upload_dir}" unless File.exist?(path)
67
67
  zipfile.add(upload.upload_file_name, path)
68
68
  end
69
69
 
70
70
  def builders
71
- [stash_wrapper_builder, mrt_datacite_builder, mrt_oaidc_builder, mrt_dataone_manifest_builder, mrt_delete_builder]
72
- end
73
-
74
- def stash_wrapper_builder
75
- @stash_wrapper_builder ||= StashWrapperBuilder.new(dcs_resource: dc4_resource, version_number: version_number, uploads: uploads)
76
- end
77
-
78
- def mrt_datacite_builder
79
- @mrt_datacite_builder ||= MerrittDataciteBuilder.new(datacite_xml_factory)
80
- end
81
-
82
- def mrt_oaidc_builder
83
- @mrt_oaidc_builder ||= MerrittOAIDCBuilder.new(resource_id: resource_id)
84
- end
85
-
86
- def mrt_dataone_manifest_builder
87
- @mrt_dataone_manifest_builder ||= DataONEManifestBuilder.new(uploads)
88
- end
89
-
90
- def mrt_delete_builder
91
- @mrt_delete_builder ||= MerrittDeleteBuilder.new(resource_id: resource_id)
71
+ @builders ||= [
72
+ StashWrapperBuilder.new(dcs_resource: dc4_resource, version_number: version_number, uploads: uploads),
73
+ MerrittDataciteBuilder.new(datacite_xml_factory),
74
+ MerrittOAIDCBuilder.new(resource_id: resource_id),
75
+ DataONEManifestBuilder.new(uploads),
76
+ MerrittDeleteBuilder.new(resource_id: resource_id)
77
+ ]
92
78
  end
93
79
 
94
80
  def total_size_bytes
@@ -103,6 +89,10 @@ module Stash
103
89
  resource.current_file_uploads
104
90
  end
105
91
 
92
+ def new_uploads
93
+ resource.new_file_uploads
94
+ end
95
+
106
96
  def datacite_xml_factory
107
97
  @datacite_xml_factory ||= Datacite::Mapping::DataciteXMLFactory.new(doi_value: resource.identifier_value, se_resource_id: resource_id, total_size_bytes: total_size_bytes, version: version_number)
108
98
  end
@@ -71,34 +71,65 @@ module Stash
71
71
  end
72
72
 
73
73
  describe :submit! do
74
- it 'mints an ID if needed' do
75
- expect(resource).to receive(:identifier).and_return(nil)
76
- expect(ezid_helper).to receive(:mint_id).and_return('doi:10.123/456')
77
- expect(resource).to receive(:ensure_identifier).with('doi:10.123/456')
78
- job.submit!
79
- end
74
+ describe 'create' do
75
+ it 'mints an ID if needed' do
76
+ expect(resource).to receive(:identifier).and_return(nil)
77
+ expect(ezid_helper).to receive(:mint_id).and_return('doi:10.123/456')
78
+ expect(resource).to receive(:ensure_identifier).with('doi:10.123/456')
79
+ job.submit!
80
+ end
80
81
 
81
- it 'submits the package' do
82
- expect(sword_helper).to receive(:submit!)
83
- job.submit!
84
- end
82
+ it 'submits the package' do
83
+ expect(sword_helper).to receive(:submit!)
84
+ job.submit!
85
+ end
85
86
 
86
- it 'updates the metadata' do
87
- dc3_xml = '<resource/>'
88
- expect(package).to receive(:dc3_xml).and_return(dc3_xml)
89
- expect(ezid_helper).to receive(:update_metadata).with(dc3_xml: dc3_xml, landing_page_url: landing_page_url)
90
- job.submit!
91
- end
87
+ it 'updates the metadata' do
88
+ dc3_xml = '<resource/>'
89
+ expect(package).to receive(:dc3_xml).and_return(dc3_xml)
90
+ expect(ezid_helper).to receive(:update_metadata).with(dc3_xml: dc3_xml, landing_page_url: landing_page_url)
91
+ job.submit!
92
+ end
92
93
 
93
- it 'cleans up the package' do
94
- expect(package).to receive(:cleanup!)
95
- job.submit!
94
+ it 'cleans up the package' do
95
+ expect(package).to receive(:cleanup!)
96
+ job.submit!
97
+ end
98
+
99
+ it 'returns a result' do
100
+ result = job.submit!
101
+ expect(result).to be_a(Stash::Repo::SubmissionResult)
102
+ expect(result.success?).to be_truthy
103
+ end
96
104
  end
97
105
 
98
- it 'returns a result' do
99
- result = job.submit!
100
- expect(result).to be_a(Stash::Repo::SubmissionResult)
101
- expect(result.success?).to be_truthy
106
+ describe 'update' do
107
+ before(:each) do
108
+ expect(resource).to receive(:update_uri).and_return('http://example.sword.edu/doi:10.123/456')
109
+ end
110
+
111
+ it 'submits the package' do
112
+ expect(sword_helper).to receive(:submit!)
113
+ job.submit!
114
+ end
115
+
116
+ it 'updates the metadata' do
117
+ dc3_xml = '<resource/>'
118
+ expect(package).to receive(:dc3_xml).and_return(dc3_xml)
119
+ expect(ezid_helper).to receive(:update_metadata).with(dc3_xml: dc3_xml, landing_page_url: landing_page_url)
120
+ job.submit!
121
+ end
122
+
123
+ it 'cleans up the package' do
124
+ expect(package).to receive(:cleanup!)
125
+ job.submit!
126
+ end
127
+
128
+ it 'returns a result' do
129
+ result = job.submit!
130
+ expect(result).to be_a(Stash::Repo::SubmissionResult)
131
+ expect(result.success?).to be_truthy
132
+ end
102
133
  end
103
134
 
104
135
  describe 'error handling' do
data/stash-merritt.iml CHANGED
@@ -3,6 +3,7 @@
3
3
  <component name="NewModuleRootManager" inherit-compiler-output="true">
4
4
  <exclude-output />
5
5
  <content url="file://$MODULE_DIR$" />
6
+ <content url="file://$MODULE_DIR$/../stash_engines/stash_datacite" />
6
7
  <content url="file://$MODULE_DIR$/../stash_engines/stash_engine" />
7
8
  <orderEntry type="jdk" jdkName="ruby-2.2.5-p319" jdkType="RUBY_SDK" />
8
9
  <orderEntry type="sourceFolder" forTests="false" />
@@ -41,7 +42,7 @@
41
42
  <orderEntry type="library" scope="PROVIDED" name="arel (v6.0.4, ruby-2.2.5-p319) [gem]" level="application" />
42
43
  <orderEntry type="library" scope="PROVIDED" name="ast (v2.3.0, ruby-2.2.5-p319) [gem]" level="application" />
43
44
  <orderEntry type="library" scope="PROVIDED" name="builder (v3.2.3, ruby-2.2.5-p319) [gem]" level="application" />
44
- <orderEntry type="library" scope="PROVIDED" name="bundler (v1.13.7, 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" />
45
46
  <orderEntry type="library" scope="PROVIDED" name="carrierwave (v0.10.0, ruby-2.2.5-p319) [gem]" level="application" />
46
47
  <orderEntry type="library" scope="PROVIDED" name="colorize (v0.8.1, ruby-2.2.5-p319) [gem]" level="application" />
47
48
  <orderEntry type="library" scope="PROVIDED" name="concurrent-ruby (v1.0.4, ruby-2.2.5-p319) [gem]" level="application" />
@@ -92,7 +93,7 @@
92
93
  <orderEntry type="library" scope="PROVIDED" name="omniauth-oauth2 (v1.3.1, ruby-2.2.5-p319) [gem]" level="application" />
93
94
  <orderEntry type="library" scope="PROVIDED" name="omniauth-orcid (v1.0.38, ruby-2.2.5-p319) [gem]" level="application" />
94
95
  <orderEntry type="library" scope="PROVIDED" name="omniauth-shibboleth (v1.2.1, ruby-2.2.5-p319) [gem]" level="application" />
95
- <orderEntry type="library" scope="PROVIDED" name="parser (v2.3.3.1, ruby-2.2.5-p319) [gem]" level="application" />
96
+ <orderEntry type="library" scope="PROVIDED" name="parser (v2.4.0.0, ruby-2.2.5-p319) [gem]" level="application" />
96
97
  <orderEntry type="library" scope="PROVIDED" name="powerpack (v0.1.1, ruby-2.2.5-p319) [gem]" level="application" />
97
98
  <orderEntry type="library" scope="PROVIDED" name="public_suffix (v2.0.5, ruby-2.2.5-p319) [gem]" level="application" />
98
99
  <orderEntry type="library" scope="PROVIDED" name="rack (v1.6.5, ruby-2.2.5-p319) [gem]" level="application" />
@@ -114,7 +115,7 @@
114
115
  <orderEntry type="library" scope="PROVIDED" name="rspec-support (v3.5.0, ruby-2.2.5-p319) [gem]" level="application" />
115
116
  <orderEntry type="library" scope="PROVIDED" name="rubocop (v0.47.1, ruby-2.2.5-p319) [gem]" level="application" />
116
117
  <orderEntry type="library" scope="PROVIDED" name="ruby-progressbar (v1.8.1, ruby-2.2.5-p319) [gem]" level="application" />
117
- <orderEntry type="library" scope="PROVIDED" name="rubyzip (v1.2.0, ruby-2.2.5-p319) [gem]" level="application" />
118
+ <orderEntry type="library" scope="PROVIDED" name="rubyzip (v1.2.1, ruby-2.2.5-p319) [gem]" level="application" />
118
119
  <orderEntry type="library" scope="PROVIDED" name="safe_yaml (v1.0.4, ruby-2.2.5-p319) [gem]" level="application" />
119
120
  <orderEntry type="library" scope="PROVIDED" name="sass (v3.4.23, ruby-2.2.5-p319) [gem]" level="application" />
120
121
  <orderEntry type="library" scope="PROVIDED" name="simplecov (v0.9.2, ruby-2.2.5-p319) [gem]" level="application" />
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.0
4
+ version: 0.1.1
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-03 00:00:00.000000000 Z
11
+ date: 2017-02-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubyzip
@@ -246,7 +246,6 @@ files:
246
246
  - ".ruby-version"
247
247
  - ".travis.yml"
248
248
  - Gemfile
249
- - Gemfile.lock
250
249
  - LICENSE.md
251
250
  - README.md
252
251
  - Rakefile
@@ -289,7 +288,7 @@ files:
289
288
  - stash-merritt.iml
290
289
  - stash-merritt.ipr
291
290
  - travis-local-deps.sh
292
- homepage: http://github.com/stash-merritt
291
+ homepage: http://github.com/CDLUC3/stash-merritt
293
292
  licenses:
294
293
  - MIT
295
294
  metadata: {}
data/Gemfile.lock DELETED
@@ -1,326 +0,0 @@
1
- PATH
2
- remote: ../stash_engines/stash_datacite
3
- specs:
4
- stash_datacite (0.0.5)
5
- datacite-mapping (~> 0.2, >= 0.2.5)
6
- kaminari
7
- leaflet-rails
8
- rails (~> 4.2.4)
9
- responders (~> 2.0)
10
- rubyzip (>= 1.0.0)
11
- stash-wrapper (~> 0.1, >= 0.1.11.1)
12
- stash_ezid_datacite (~> 0.1)
13
-
14
- PATH
15
- remote: ../stash_engines/stash_engine
16
- specs:
17
- stash_engine (0.0.17)
18
- amoeba (~> 3.0.0)
19
- carrierwave (~> 0.10.0)
20
- concurrent-ruby (~> 1.0)
21
- filesize (~> 0.1.1)
22
- font-awesome-rails
23
- jquery-fileupload-rails (~> 0.4.6)
24
- jquery-rails
25
- jquery-turbolinks
26
- jquery-ui-rails
27
- kaminari
28
- omniauth (~> 1.2.2)
29
- omniauth-google-oauth2 (~> 0.2.9)
30
- omniauth-orcid (~> 1.0.21)
31
- omniauth-shibboleth (~> 1.2.1)
32
- rails (~> 4.2.4)
33
- redcarpet (~> 3.3)
34
- stash-sword (~> 0.1, >= 0.1.5)
35
- wicked_pdf (~> 1.1.0)
36
- wkhtmltopdf-binary (~> 0.12.3.1)
37
-
38
- PATH
39
- remote: .
40
- specs:
41
- stash-merritt (0.0.1)
42
- rubyzip (~> 1.1)
43
- stash_datacite
44
- stash_engine
45
- stash_ezid_datacite (~> 0.1)
46
-
47
- GEM
48
- remote: https://rubygems.org/
49
- specs:
50
- actionmailer (4.2.7.1)
51
- actionpack (= 4.2.7.1)
52
- actionview (= 4.2.7.1)
53
- activejob (= 4.2.7.1)
54
- mail (~> 2.5, >= 2.5.4)
55
- rails-dom-testing (~> 1.0, >= 1.0.5)
56
- actionpack (4.2.7.1)
57
- actionview (= 4.2.7.1)
58
- activesupport (= 4.2.7.1)
59
- rack (~> 1.6)
60
- rack-test (~> 0.6.2)
61
- rails-dom-testing (~> 1.0, >= 1.0.5)
62
- rails-html-sanitizer (~> 1.0, >= 1.0.2)
63
- actionview (4.2.7.1)
64
- activesupport (= 4.2.7.1)
65
- builder (~> 3.1)
66
- erubis (~> 2.7.0)
67
- rails-dom-testing (~> 1.0, >= 1.0.5)
68
- rails-html-sanitizer (~> 1.0, >= 1.0.2)
69
- activejob (4.2.7.1)
70
- activesupport (= 4.2.7.1)
71
- globalid (>= 0.3.0)
72
- activemodel (4.2.7.1)
73
- activesupport (= 4.2.7.1)
74
- builder (~> 3.1)
75
- activerecord (4.2.7.1)
76
- activemodel (= 4.2.7.1)
77
- activesupport (= 4.2.7.1)
78
- arel (~> 6.0)
79
- activesupport (4.2.7.1)
80
- i18n (~> 0.7)
81
- json (~> 1.7, >= 1.7.7)
82
- minitest (~> 5.1)
83
- thread_safe (~> 0.3, >= 0.3.4)
84
- tzinfo (~> 1.1)
85
- addressable (2.5.0)
86
- public_suffix (~> 2.0, >= 2.0.2)
87
- amoeba (3.0.0)
88
- activerecord (>= 3.2.6)
89
- arel (6.0.4)
90
- ast (2.3.0)
91
- builder (3.2.3)
92
- carrierwave (0.10.0)
93
- activemodel (>= 3.2.0)
94
- activesupport (>= 3.2.0)
95
- json (>= 1.7)
96
- mime-types (>= 1.16)
97
- colorize (0.8.1)
98
- concurrent-ruby (1.0.4)
99
- crack (0.4.3)
100
- safe_yaml (~> 1.0.0)
101
- database_cleaner (1.5.3)
102
- datacite-mapping (0.2.5)
103
- typesafe_enum (~> 0.1, >= 0.1.7)
104
- xml-mapping_extensions (~> 0.4, >= 0.4.7)
105
- diff-lcs (1.3)
106
- diffy (3.1.0)
107
- docile (1.1.5)
108
- domain_name (0.5.20161129)
109
- unf (>= 0.0.5, < 1.0.0)
110
- equivalent-xml (0.6.0)
111
- nokogiri (>= 1.4.3)
112
- erubis (2.7.0)
113
- ezid-client (1.5.0)
114
- hashie (~> 3.4, >= 3.4.3)
115
- faraday (0.10.1)
116
- multipart-post (>= 1.2, < 3)
117
- filesize (0.1.1)
118
- font-awesome-rails (4.7.0.1)
119
- railties (>= 3.2, < 5.1)
120
- globalid (0.3.7)
121
- activesupport (>= 4.1.0)
122
- hashdiff (0.3.2)
123
- hashie (3.5.1)
124
- hirb (0.7.3)
125
- http-cookie (1.0.3)
126
- domain_name (~> 0.5)
127
- i18n (0.8.0)
128
- jquery-fileupload-rails (0.4.7)
129
- actionpack (>= 3.1)
130
- railties (>= 3.1)
131
- sass (>= 3.2)
132
- jquery-rails (4.2.2)
133
- rails-dom-testing (>= 1, < 3)
134
- railties (>= 4.2.0)
135
- thor (>= 0.14, < 2.0)
136
- jquery-turbolinks (2.1.0)
137
- railties (>= 3.1.0)
138
- turbolinks
139
- jquery-ui-rails (6.0.1)
140
- railties (>= 3.2.16)
141
- json (1.8.6)
142
- jwt (1.5.6)
143
- kaminari (1.0.1)
144
- activesupport (>= 4.1.0)
145
- kaminari-actionview (= 1.0.1)
146
- kaminari-activerecord (= 1.0.1)
147
- kaminari-core (= 1.0.1)
148
- kaminari-actionview (1.0.1)
149
- actionview
150
- kaminari-core (= 1.0.1)
151
- kaminari-activerecord (1.0.1)
152
- activerecord
153
- kaminari-core (= 1.0.1)
154
- kaminari-core (1.0.1)
155
- leaflet-rails (1.0.2)
156
- loofah (2.0.3)
157
- nokogiri (>= 1.5.9)
158
- mail (2.6.4)
159
- mime-types (>= 1.16, < 4)
160
- mime-types (2.99.3)
161
- mini_portile2 (2.1.0)
162
- minitest (5.10.1)
163
- multi_json (1.12.1)
164
- multi_xml (0.6.0)
165
- multipart-post (2.0.0)
166
- mysql2 (0.4.5)
167
- netrc (0.11.0)
168
- nokogiri (1.7.0.1)
169
- mini_portile2 (~> 2.1.0)
170
- oauth2 (1.3.0)
171
- faraday (>= 0.8, < 0.11)
172
- jwt (~> 1.0)
173
- multi_json (~> 1.3)
174
- multi_xml (~> 0.5)
175
- rack (>= 1.2, < 3)
176
- omniauth (1.2.2)
177
- hashie (>= 1.2, < 4)
178
- rack (~> 1.0)
179
- omniauth-google-oauth2 (0.2.10)
180
- addressable (~> 2.3)
181
- jwt (~> 1.0)
182
- multi_json (~> 1.3)
183
- omniauth (>= 1.1.1)
184
- omniauth-oauth2 (~> 1.3.1)
185
- omniauth-oauth2 (1.3.1)
186
- oauth2 (~> 1.0)
187
- omniauth (~> 1.2)
188
- omniauth-orcid (1.0.38)
189
- omniauth-oauth2 (~> 1.3.1)
190
- omniauth-shibboleth (1.2.1)
191
- omniauth (>= 1.0.0)
192
- parser (2.3.3.1)
193
- ast (~> 2.2)
194
- powerpack (0.1.1)
195
- public_suffix (2.0.5)
196
- rack (1.6.5)
197
- rack-test (0.6.3)
198
- rack (>= 1.0)
199
- rails (4.2.7.1)
200
- actionmailer (= 4.2.7.1)
201
- actionpack (= 4.2.7.1)
202
- actionview (= 4.2.7.1)
203
- activejob (= 4.2.7.1)
204
- activemodel (= 4.2.7.1)
205
- activerecord (= 4.2.7.1)
206
- activesupport (= 4.2.7.1)
207
- bundler (>= 1.3.0, < 2.0)
208
- railties (= 4.2.7.1)
209
- sprockets-rails
210
- rails-deprecated_sanitizer (1.0.3)
211
- activesupport (>= 4.2.0.alpha)
212
- rails-dom-testing (1.0.8)
213
- activesupport (>= 4.2.0.beta, < 5.0)
214
- nokogiri (~> 1.6)
215
- rails-deprecated_sanitizer (>= 1.0.1)
216
- rails-html-sanitizer (1.0.3)
217
- loofah (~> 2.0)
218
- railties (4.2.7.1)
219
- actionpack (= 4.2.7.1)
220
- activesupport (= 4.2.7.1)
221
- rake (>= 0.8.7)
222
- thor (>= 0.18.1, < 2.0)
223
- rainbow (2.2.1)
224
- rake (10.5.0)
225
- redcarpet (3.4.0)
226
- responders (2.3.0)
227
- railties (>= 4.2.0, < 5.1)
228
- rest-client (2.0.0)
229
- http-cookie (>= 1.0.2, < 2.0)
230
- mime-types (>= 1.16, < 4.0)
231
- netrc (~> 0.8)
232
- rspec (3.5.0)
233
- rspec-core (~> 3.5.0)
234
- rspec-expectations (~> 3.5.0)
235
- rspec-mocks (~> 3.5.0)
236
- rspec-core (3.5.4)
237
- rspec-support (~> 3.5.0)
238
- rspec-expectations (3.5.0)
239
- diff-lcs (>= 1.2.0, < 2.0)
240
- rspec-support (~> 3.5.0)
241
- rspec-mocks (3.5.0)
242
- diff-lcs (>= 1.2.0, < 2.0)
243
- rspec-support (~> 3.5.0)
244
- rspec-support (3.5.0)
245
- rubocop (0.47.1)
246
- parser (>= 2.3.3.1, < 3.0)
247
- powerpack (~> 0.1)
248
- rainbow (>= 1.99.1, < 3.0)
249
- ruby-progressbar (~> 1.7)
250
- unicode-display_width (~> 1.0, >= 1.0.1)
251
- ruby-progressbar (1.8.1)
252
- rubyzip (1.2.0)
253
- safe_yaml (1.0.4)
254
- sass (3.4.23)
255
- simplecov (0.9.2)
256
- docile (~> 1.1.0)
257
- multi_json (~> 1.0)
258
- simplecov-html (~> 0.9.0)
259
- simplecov-console (0.2.0)
260
- colorize
261
- hirb
262
- simplecov
263
- simplecov-html (0.9.0)
264
- sprockets (3.7.1)
265
- concurrent-ruby (~> 1.0)
266
- rack (> 1, < 3)
267
- sprockets-rails (3.2.0)
268
- actionpack (>= 4.0)
269
- activesupport (>= 4.0)
270
- sprockets (>= 3.0.0)
271
- stash-sword (0.1.5)
272
- rest-client (~> 2.0, = 2.0.0)
273
- typesafe_enum (~> 0.1, >= 0.1.7)
274
- xml-mapping_extensions (~> 0.4, >= 0.4.1)
275
- stash-wrapper (0.1.11.1)
276
- typesafe_enum (~> 0.1, >= 0.1.7)
277
- xml-mapping_extensions (~> 0.4, >= 0.4.2)
278
- stash_ezid_datacite (0.1.5)
279
- ezid-client (~> 1.5)
280
- thor (0.19.4)
281
- thread_safe (0.3.5)
282
- turbolinks (5.0.1)
283
- turbolinks-source (~> 5)
284
- turbolinks-source (5.0.0)
285
- typesafe_enum (0.1.7)
286
- tzinfo (1.2.2)
287
- thread_safe (~> 0.1)
288
- unf (0.1.4)
289
- unf_ext
290
- unf_ext (0.0.7.2)
291
- unicode-display_width (1.1.3)
292
- webmock (1.24.6)
293
- addressable (>= 2.3.6)
294
- crack (>= 0.3.2)
295
- hashdiff
296
- wicked_pdf (1.1.0)
297
- wkhtmltopdf-binary (0.12.3.1)
298
- xml-mapping (0.10.0)
299
- xml-mapping_extensions (0.4.7)
300
- mime-types (~> 2.5)
301
- typesafe_enum (~> 0.1, >= 0.1.5)
302
- xml-mapping (~> 0.10)
303
- yard (0.9.8)
304
-
305
- PLATFORMS
306
- ruby
307
-
308
- DEPENDENCIES
309
- bundler (~> 1.7)
310
- database_cleaner (~> 1.5)
311
- diffy (~> 3.1)
312
- equivalent-xml (~> 0.6.0)
313
- mysql2 (~> 0.3)
314
- rake (~> 10.4)
315
- rspec (~> 3.2)
316
- rubocop (~> 0.47)
317
- simplecov (~> 0.9.2)
318
- simplecov-console (~> 0.2.0)
319
- stash-merritt!
320
- stash_datacite!
321
- stash_engine!
322
- webmock (~> 1.24)
323
- yard (~> 0.8)
324
-
325
- BUNDLED WITH
326
- 1.13.7