stash-merritt 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +5 -0
- data/README.md +45 -23
- data/lib/stash/merritt/module_info.rb +1 -1
- data/lib/stash/merritt/submission_package.rb +13 -23
- data/spec/unit/stash/merritt/submission_job_spec.rb +54 -23
- data/stash-merritt.iml +4 -3
- metadata +3 -4
- data/Gemfile.lock +0 -326
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 46447b0a05d80b4e82864971bc91aba395e786ea
|
4
|
+
data.tar.gz: 0b191749296cf778f3fad1908b95a0cd13a6b93c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5adf6893eeaa38f0ddaab555002bb521d3654d733053a1a71235a5f9b5dacf7103d03c44118d737942bb970e985eb72183b0681e6d852a09ccd08bdf0ba182fc
|
7
|
+
data.tar.gz: 4d38f341c4495e1394b549483582978c745d99d5b869dfdd75898163a795f9eda5890a5d4ddf697ddcbd762e1bd1ca004e5099caeb88f4a961d23a67c8aea29e
|
data/.gitignore
CHANGED
data/README.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# Stash::Merritt
|
2
2
|
|
3
|
-
[](https://codeclimate.com/github/CDLUC3/stash-merritt)
|
3
|
+
[](https://travis-ci.org/CDLUC3/stash-merritt)
|
4
|
+
[](https://codeclimate.com/github/CDLUC3/stash-merritt)
|
5
5
|
[](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
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
- Stash wrapper XML
|
25
|
-
-
|
26
|
-
-
|
27
|
-
|
28
|
-
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
1.
|
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
|
51
|
-
mysql> use
|
52
|
-
mysql> grant all on
|
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
|
```
|
@@ -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
|
-
|
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
|
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
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
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
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
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
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
82
|
+
it 'submits the package' do
|
83
|
+
expect(sword_helper).to receive(:submit!)
|
84
|
+
job.submit!
|
85
|
+
end
|
85
86
|
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
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
|
-
|
94
|
-
|
95
|
-
|
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
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
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.
|
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.
|
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.
|
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.
|
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-
|
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
|