stash-wrapper 0.1.1 → 0.1.2
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/CHANGES.md +6 -0
- data/lib/stash/wrapper/embargo.rb +7 -0
- data/lib/stash/wrapper/module_info.rb +1 -1
- data/lib/stash/wrapper/stash_administrative.rb +5 -5
- data/lib/stash/wrapper/stash_wrapper.rb +4 -4
- data/spec/unit/stash/wrapper/embargo_spec.rb +19 -0
- data/spec/unit/stash/wrapper/stash_administrative_spec.rb +27 -0
- data/spec/unit/stash/wrapper/stash_wrapper_spec.rb +22 -0
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ffbc971060572311562d5cddea48605f7c6d152f
|
4
|
+
data.tar.gz: 80c7a4e1e610b4f945dfded51cb3f6835362d62e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 692b374270d158d5e7c45fc3e7ca3b5fda1c43df8d465e28171977fd332063eb8264527eb245174719314b9be0393edc439d4c2f720fb0a3f1ccb5870486fd64
|
7
|
+
data.tar.gz: c35a351a76d85e7f25d843a169fd7acc15a28a073f94eb23bd2c04e6afe01e05f16bea9e903d610cb3c4026c32554e725640a01ef20779dff88f2dd16a3f5098
|
data/CHANGES.md
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
# 0.1.2 (31 March 2016)
|
2
|
+
|
3
|
+
- Add convenience method `Embargo.none` to create a no-embargo embargo element
|
4
|
+
- Make `StashAdministrative` (and thereby `StashWrapper`) default to `Embargo.none`
|
5
|
+
if no `Embargo` is provided
|
6
|
+
|
1
7
|
# 0.1.1 (16 March 2016)
|
2
8
|
|
3
9
|
- Fix gem metadata
|
@@ -24,6 +24,13 @@ module Stash
|
|
24
24
|
self.start_date = start_date
|
25
25
|
self.end_date = end_date
|
26
26
|
end
|
27
|
+
|
28
|
+
# Creates a new `Embargo` instance of type {EmbargoType::NONE} with the current date as start and end.
|
29
|
+
# @return [Embargo]
|
30
|
+
def self.none
|
31
|
+
today = Date.today
|
32
|
+
new(type: EmbargoType::NONE, period: EmbargoType::NONE.value, start_date: today, end_date: today)
|
33
|
+
end
|
27
34
|
end
|
28
35
|
|
29
36
|
end
|
@@ -18,14 +18,14 @@ module Stash
|
|
18
18
|
#
|
19
19
|
# @param version [Version] the version
|
20
20
|
# @param license [License] the license
|
21
|
-
# @param embargo [Embargo] the embargo.
|
22
|
-
#
|
23
|
-
#
|
21
|
+
# @param embargo [Embargo, nil] the embargo information. If no `Embargo`
|
22
|
+
# is supplied, it will default to an embargo of type {EmbargoType::NONE}
|
23
|
+
# with the current date as start and end.
|
24
24
|
# @param inventory [Inventory, nil] the (optional) file inventory
|
25
|
-
def initialize(version:, license:, embargo
|
25
|
+
def initialize(version:, license:, embargo: nil, inventory: nil)
|
26
26
|
self.version = version
|
27
27
|
self.license = license
|
28
|
-
self.embargo = embargo
|
28
|
+
self.embargo = embargo || Embargo.none
|
29
29
|
self.inventory = inventory
|
30
30
|
end
|
31
31
|
end
|
@@ -29,13 +29,13 @@ module Stash
|
|
29
29
|
# @param identifier [Identifier] the identifier
|
30
30
|
# @param version [Version] the version
|
31
31
|
# @param license [License] the license
|
32
|
-
# @param embargo [Embargo] the embargo.
|
33
|
-
#
|
34
|
-
#
|
32
|
+
# @param embargo [Embargo, nil] the embargo information. If no `Embargo`
|
33
|
+
# is supplied, it will default to an embargo of type {EmbargoType::NONE}
|
34
|
+
# with the current date as start and end.
|
35
35
|
# @param inventory [Inventory, nil] the (optional) file inventory
|
36
36
|
# @param descriptive_elements [Array<REXML::Element>] the encapsulated
|
37
37
|
# XML metadata
|
38
|
-
def initialize(identifier:, version:, license:, embargo
|
38
|
+
def initialize(identifier:, version:, license:, embargo: nil, inventory: nil, descriptive_elements:) # rubocop:disable Metrics/ParameterLists
|
39
39
|
self.identifier = identifier
|
40
40
|
self.stash_administrative = StashAdministrative.new(
|
41
41
|
version: version,
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module Stash
|
4
|
+
module Wrapper
|
5
|
+
describe Embargo do
|
6
|
+
describe 'none' do
|
7
|
+
it "returns a no-embargo #{Embargo}" do
|
8
|
+
embargo = Embargo.none
|
9
|
+
expect(embargo).to be_an(Embargo)
|
10
|
+
expect(embargo.type).to eq(EmbargoType::NONE)
|
11
|
+
expect(embargo.period).to eq('none')
|
12
|
+
today = Date.today
|
13
|
+
expect(embargo.start_date).to eq(today)
|
14
|
+
expect(embargo.end_date).to eq(today)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module Stash
|
4
|
+
module Wrapper
|
5
|
+
describe StashAdministrative do
|
6
|
+
describe '#initialize' do
|
7
|
+
it 'defaults to no embargo' do
|
8
|
+
admin = StashAdministrative.new(
|
9
|
+
version: Version.new(number: 1, date: Date.new(2013, 8, 18), note: 'Sample wrapped Datacite document'),
|
10
|
+
license: License::CC_BY,
|
11
|
+
inventory: Inventory.new(
|
12
|
+
files: [
|
13
|
+
StashFile.new(pathname: 'HSRC_MasterSampleII.dat', size_bytes: 12_345, mime_type: 'text/plain')
|
14
|
+
])
|
15
|
+
)
|
16
|
+
embargo = admin.embargo
|
17
|
+
expect(embargo).to be_an(Embargo)
|
18
|
+
expect(embargo.type).to eq(EmbargoType::NONE)
|
19
|
+
expect(embargo.period).to eq('none')
|
20
|
+
today = Date.today
|
21
|
+
expect(embargo.start_date).to eq(today)
|
22
|
+
expect(embargo.end_date).to eq(today)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -136,6 +136,28 @@ module Stash
|
|
136
136
|
end
|
137
137
|
end
|
138
138
|
|
139
|
+
describe '#initialize' do
|
140
|
+
it 'defaults to no embargo' do
|
141
|
+
wrapper = StashWrapper.new(
|
142
|
+
identifier: Identifier.new(type: IdentifierType::DOI, value: '10.14749/1407399498'),
|
143
|
+
version: Version.new(number: 1, date: Date.new(2013, 8, 18), note: 'Sample wrapped Datacite document'),
|
144
|
+
license: License::CC_BY,
|
145
|
+
inventory: Inventory.new(
|
146
|
+
files: [
|
147
|
+
StashFile.new(pathname: 'HSRC_MasterSampleII.dat', size_bytes: 12_345, mime_type: 'text/plain')
|
148
|
+
]),
|
149
|
+
descriptive_elements: []
|
150
|
+
)
|
151
|
+
embargo = wrapper.embargo
|
152
|
+
expect(embargo).to be_an(Embargo)
|
153
|
+
expect(embargo.type).to eq(EmbargoType::NONE)
|
154
|
+
expect(embargo.period).to eq('none')
|
155
|
+
today = Date.today
|
156
|
+
expect(embargo.start_date).to eq(today)
|
157
|
+
expect(embargo.end_date).to eq(today)
|
158
|
+
end
|
159
|
+
end
|
160
|
+
|
139
161
|
describe '#save_to_xml' do
|
140
162
|
|
141
163
|
describe 'namespace handling' do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stash-wrapper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Moles
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-04-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: typesafe_enum
|
@@ -205,6 +205,8 @@ files:
|
|
205
205
|
- spec/data/wrapper/wrapper-2.xml
|
206
206
|
- spec/rspec_custom_matchers.rb
|
207
207
|
- spec/spec_helper.rb
|
208
|
+
- spec/unit/stash/wrapper/embargo_spec.rb
|
209
|
+
- spec/unit/stash/wrapper/stash_administrative_spec.rb
|
208
210
|
- spec/unit/stash/wrapper/stash_wrapper_spec.rb
|
209
211
|
- stash-wrapper.gemspec
|
210
212
|
homepage: http://github.com/CDLUC3/stash-wrapper
|
@@ -241,5 +243,7 @@ test_files:
|
|
241
243
|
- spec/data/wrapper/wrapper-2.xml
|
242
244
|
- spec/rspec_custom_matchers.rb
|
243
245
|
- spec/spec_helper.rb
|
246
|
+
- spec/unit/stash/wrapper/embargo_spec.rb
|
247
|
+
- spec/unit/stash/wrapper/stash_administrative_spec.rb
|
244
248
|
- spec/unit/stash/wrapper/stash_wrapper_spec.rb
|
245
249
|
has_rdoc:
|