datacite-mapping 0.1.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 +7 -0
- data/.gitignore +42 -0
- data/.rubocop.yml +28 -0
- data/.ruby-version +1 -0
- data/.travis.yml +2 -0
- data/.yardopts +2 -0
- data/CHANGES.md +3 -0
- data/Gemfile +3 -0
- data/LICENSE.md +22 -0
- data/README.md +168 -0
- data/Rakefile +49 -0
- data/datacite-mapping.gemspec +37 -0
- data/examples/reading.rb +75 -0
- data/examples/writing.rb +49 -0
- data/lib/datacite/mapping.rb +36 -0
- data/lib/datacite/mapping/alternate_identifier.rb +45 -0
- data/lib/datacite/mapping/contributor.rb +125 -0
- data/lib/datacite/mapping/creator.rb +48 -0
- data/lib/datacite/mapping/date.rb +153 -0
- data/lib/datacite/mapping/description.rb +121 -0
- data/lib/datacite/mapping/geo_location.rb +49 -0
- data/lib/datacite/mapping/geo_location_box.rb +137 -0
- data/lib/datacite/mapping/geo_location_point.rb +102 -0
- data/lib/datacite/mapping/identifier.rb +45 -0
- data/lib/datacite/mapping/module_info.rb +12 -0
- data/lib/datacite/mapping/name_identifier.rb +48 -0
- data/lib/datacite/mapping/related_identifier.rb +209 -0
- data/lib/datacite/mapping/resource.rb +201 -0
- data/lib/datacite/mapping/resource_type.rb +83 -0
- data/lib/datacite/mapping/rights.rb +36 -0
- data/lib/datacite/mapping/subject.rb +55 -0
- data/lib/datacite/mapping/title.rb +69 -0
- data/spec/.rubocop.yml +7 -0
- data/spec/data/resource.xml +61 -0
- data/spec/rspec_custom_matchers.rb +69 -0
- data/spec/spec_helper.rb +31 -0
- data/spec/unit/datacite/mapping/alternate_identifier_spec.rb +60 -0
- data/spec/unit/datacite/mapping/contributor_spec.rb +129 -0
- data/spec/unit/datacite/mapping/creator_spec.rb +125 -0
- data/spec/unit/datacite/mapping/date_spec.rb +246 -0
- data/spec/unit/datacite/mapping/description_spec.rb +89 -0
- data/spec/unit/datacite/mapping/geo_location_box_spec.rb +241 -0
- data/spec/unit/datacite/mapping/geo_location_point_spec.rb +148 -0
- data/spec/unit/datacite/mapping/geo_location_spec.rb +116 -0
- data/spec/unit/datacite/mapping/identifier_spec.rb +75 -0
- data/spec/unit/datacite/mapping/name_identifier_spec.rb +89 -0
- data/spec/unit/datacite/mapping/related_identifier_spec.rb +157 -0
- data/spec/unit/datacite/mapping/resource_spec.rb +727 -0
- data/spec/unit/datacite/mapping/resource_type_spec.rb +69 -0
- data/spec/unit/datacite/mapping/rights_spec.rb +78 -0
- data/spec/unit/datacite/mapping/subject_spec.rb +108 -0
- data/spec/unit/datacite/mapping/title_spec.rb +113 -0
- metadata +262 -0
@@ -0,0 +1,69 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module Datacite
|
4
|
+
module Mapping
|
5
|
+
describe ResourceType do
|
6
|
+
describe '#initialize' do
|
7
|
+
it 'sets the value' do
|
8
|
+
rt = ResourceType.new(resource_type_general: ResourceTypeGeneral::DATASET, value: 'some data')
|
9
|
+
expect(rt.value).to eq('some data')
|
10
|
+
end
|
11
|
+
it 'sets the general resource type' do
|
12
|
+
rt = ResourceType.new(resource_type_general: ResourceTypeGeneral::DATASET, value: 'some data')
|
13
|
+
expect(rt.resource_type_general).to eq(ResourceTypeGeneral::DATASET)
|
14
|
+
end
|
15
|
+
it 'allows a nil value' do
|
16
|
+
rt = ResourceType.new(resource_type_general: ResourceTypeGeneral::DATASET)
|
17
|
+
expect(rt.value).to be_nil
|
18
|
+
end
|
19
|
+
it 'requires a general resource type' do
|
20
|
+
expect { ResourceType.new(value: 'some data') }.to raise_error(ArgumentError)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
describe 'resourceTypeGeneral=' do
|
25
|
+
it 'sets the general resource type' do
|
26
|
+
rt = ResourceType.allocate
|
27
|
+
rt.resource_type_general = ResourceTypeGeneral::DATASET
|
28
|
+
expect(rt.resource_type_general).to eq(ResourceTypeGeneral::DATASET)
|
29
|
+
end
|
30
|
+
it 'requires a general resource type' do
|
31
|
+
rt = ResourceType.new(resource_type_general: ResourceTypeGeneral::DATASET, value: 'some data')
|
32
|
+
expect { rt.resource_type_general = nil }.to raise_error(ArgumentError)
|
33
|
+
expect(rt.resource_type_general).to eq(ResourceTypeGeneral::DATASET)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
describe 'value' do
|
38
|
+
it 'sets the value' do
|
39
|
+
rt = ResourceType.allocate
|
40
|
+
rt.value = 'some data'
|
41
|
+
expect(rt.value).to eq('some data')
|
42
|
+
end
|
43
|
+
it 'allows a nil value' do
|
44
|
+
rt = ResourceType.new(resource_type_general: ResourceTypeGeneral::DATASET, value: 'some data')
|
45
|
+
rt.value = nil
|
46
|
+
expect(rt.value).to be_nil
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
describe '#load_from_xml' do
|
51
|
+
it 'parses XML' do
|
52
|
+
xml_text = '<resourceType resourceTypeGeneral="Software">XML</resourceType>'
|
53
|
+
xml = REXML::Document.new(xml_text).root
|
54
|
+
rt = ResourceType.load_from_xml(xml)
|
55
|
+
expect(rt.resource_type_general).to eq(ResourceTypeGeneral::SOFTWARE)
|
56
|
+
expect(rt.value).to eq('XML')
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
describe '#save_to_xml' do
|
61
|
+
it 'writes XML' do
|
62
|
+
rt = ResourceType.new(resource_type_general: ResourceTypeGeneral::DATASET, value: 'some data')
|
63
|
+
expected_xml = '<resourceType resourceTypeGeneral="Dataset">some data</resourceType>'
|
64
|
+
expect(rt.save_to_xml).to be_xml(expected_xml)
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
@@ -0,0 +1,78 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module Datacite
|
4
|
+
module Mapping
|
5
|
+
describe Rights do
|
6
|
+
describe '#initialize' do
|
7
|
+
it 'sets the value' do
|
8
|
+
rights = Rights.new(value: 'CC0 1.0 Universal')
|
9
|
+
expect(rights.value).to eq('CC0 1.0 Universal')
|
10
|
+
end
|
11
|
+
it 'sets the URI' do
|
12
|
+
rights = Rights.new(value: 'CC0 1.0 Universal', uri: URI('http://creativecommons.org/publicdomain/zero/1.0/'))
|
13
|
+
expect(rights.uri).to eq(URI('http://creativecommons.org/publicdomain/zero/1.0/'))
|
14
|
+
end
|
15
|
+
it 'requires a value' do
|
16
|
+
expect { Rights.new(uri: URI('http://creativecommons.org/publicdomain/zero/1.0/')) }.to raise_error(ArgumentError)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
describe '#value=' do
|
21
|
+
it 'sets the value' do
|
22
|
+
rights = Rights.allocate
|
23
|
+
rights.value = 'CC0 1.0 Universal'
|
24
|
+
expect(rights.value).to eq('CC0 1.0 Universal')
|
25
|
+
end
|
26
|
+
it 'requires a value' do
|
27
|
+
rights = Rights.new(value: 'CC0 1.0 Universal')
|
28
|
+
expect { rights.value = nil }.to raise_error(ArgumentError)
|
29
|
+
expect(rights.value).to eq('CC0 1.0 Universal')
|
30
|
+
end
|
31
|
+
it 'requires a non-empty value' do
|
32
|
+
rights = Rights.new(value: 'CC0 1.0 Universal')
|
33
|
+
expect { rights.value = '' }.to raise_error(ArgumentError)
|
34
|
+
expect(rights.value).to eq('CC0 1.0 Universal')
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
describe '#uri=' do
|
39
|
+
it 'sets the URI' do
|
40
|
+
rights = Rights.allocate
|
41
|
+
rights.uri = URI('http://creativecommons.org/publicdomain/zero/1.0/')
|
42
|
+
expect(rights.uri).to eq(URI('http://creativecommons.org/publicdomain/zero/1.0/'))
|
43
|
+
end
|
44
|
+
it 'allows a nil URI' do
|
45
|
+
rights = Rights.new(value: 'CC0 1.0 Universal', uri: URI('http://creativecommons.org/publicdomain/zero/1.0/'))
|
46
|
+
rights.uri = nil
|
47
|
+
expect(rights.uri).to be_nil
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
describe '#load_from_xml' do
|
52
|
+
it 'reads XML' do
|
53
|
+
xml_text = '<rights rightsURI="http://creativecommons.org/publicdomain/zero/1.0/">CC0 1.0 Universal</rights>'
|
54
|
+
xml = REXML::Document.new(xml_text).root
|
55
|
+
rights = Rights.load_from_xml(xml)
|
56
|
+
expect(rights.value).to eq('CC0 1.0 Universal')
|
57
|
+
expect(rights.uri).to eq(URI('http://creativecommons.org/publicdomain/zero/1.0/'))
|
58
|
+
end
|
59
|
+
it 'trims the value' do
|
60
|
+
xml_text = '<rights>
|
61
|
+
CC0 1.0 Universal
|
62
|
+
</rights>'
|
63
|
+
xml = REXML::Document.new(xml_text).root
|
64
|
+
rights = Rights.load_from_xml(xml)
|
65
|
+
expect(rights.value).to eq('CC0 1.0 Universal')
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
describe '#save_to_xml' do
|
70
|
+
it 'writes XML' do
|
71
|
+
rights = Rights.new(value: 'CC0 1.0 Universal', uri: URI('http://creativecommons.org/publicdomain/zero/1.0/'))
|
72
|
+
expected_xml = '<rights rightsURI="http://creativecommons.org/publicdomain/zero/1.0/">CC0 1.0 Universal</rights>'
|
73
|
+
expect(rights.save_to_xml).to be_xml(expected_xml)
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
@@ -0,0 +1,108 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module Datacite
|
4
|
+
module Mapping
|
5
|
+
describe Subject do
|
6
|
+
describe '#initialize' do
|
7
|
+
it 'sets the value' do
|
8
|
+
value = 'Mammals--Embryology'
|
9
|
+
subject = Subject.new(value: value, language: 'en-us')
|
10
|
+
expect(subject.value).to eq(value)
|
11
|
+
end
|
12
|
+
|
13
|
+
it 'sets the language' do
|
14
|
+
lang = 'en-us'
|
15
|
+
subject = Subject.new(value: 'Mammals--Embryology', language: lang)
|
16
|
+
expect(subject.language).to eq(lang)
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'sets the scheme' do
|
20
|
+
scheme = 'LCSH'
|
21
|
+
subject = Subject.new(value: 'Mammals--Embryology', language: 'en-us', scheme: scheme)
|
22
|
+
expect(subject.scheme).to eq(scheme)
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'sets the schemeURI' do
|
26
|
+
scheme_uri = URI('http://id.loc.gov/authorities/subjects')
|
27
|
+
subject = Subject.new(value: 'Mammals--Embryology', language: 'en-us', scheme: 'LCSH', scheme_uri: scheme_uri)
|
28
|
+
expect(subject.scheme_uri).to eq(scheme_uri)
|
29
|
+
end
|
30
|
+
|
31
|
+
it 'defaults to a nil scheme' do
|
32
|
+
subject = Subject.new(value: 'Mammals--Embryology', language: 'en-us')
|
33
|
+
expect(subject.scheme).to be_nil
|
34
|
+
end
|
35
|
+
|
36
|
+
it 'defaults to a nil schemeURI' do
|
37
|
+
subject = Subject.new(value: 'Mammals--Embryology', language: 'en-us')
|
38
|
+
expect(subject.scheme_uri).to be_nil
|
39
|
+
end
|
40
|
+
|
41
|
+
it 'defaults language to "en"' do
|
42
|
+
subject = Subject.new(value: 'Mammals--Embryology')
|
43
|
+
expect(subject.language).to eq('en')
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
47
|
+
|
48
|
+
describe 'lang=' do
|
49
|
+
it 'sets the language' do
|
50
|
+
subject = Subject.new(value: 'Mammals--Embryology', language: 'en')
|
51
|
+
new_lang = 'en-us'
|
52
|
+
subject.language = new_lang
|
53
|
+
expect(subject.language).to eq(new_lang)
|
54
|
+
end
|
55
|
+
|
56
|
+
it 'ignores nil' do
|
57
|
+
subject = Subject.new(value: 'Mammals--Embryology', language: 'en-us')
|
58
|
+
subject.language = nil
|
59
|
+
expect(subject.language).to eq('en-us')
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
describe '#load_from_xml' do
|
64
|
+
it 'parses XML' do
|
65
|
+
xml_text = '<subject xml:lang="en-us" schemeURI="http://id.loc.gov/authorities/subjects" subjectScheme="LCSH">Mammals--Embryology</subject>'
|
66
|
+
xml = REXML::Document.new(xml_text).root
|
67
|
+
subject = Subject.load_from_xml(xml)
|
68
|
+
|
69
|
+
value = 'Mammals--Embryology'
|
70
|
+
lang = 'en-us'
|
71
|
+
scheme = 'LCSH'
|
72
|
+
scheme_uri = URI('http://id.loc.gov/authorities/subjects')
|
73
|
+
|
74
|
+
expect(subject.value).to eq(value)
|
75
|
+
expect(subject.language).to eq(lang)
|
76
|
+
expect(subject.scheme).to eq(scheme)
|
77
|
+
expect(subject.scheme_uri).to eq(scheme_uri)
|
78
|
+
end
|
79
|
+
|
80
|
+
it 'treats missing language as en' do
|
81
|
+
xml_text = '<subject schemeURI="http://id.loc.gov/authorities/subjects" subjectScheme="LCSH">Mammals--Embryology</subject>'
|
82
|
+
xml = REXML::Document.new(xml_text).root
|
83
|
+
subject = Subject.load_from_xml(xml)
|
84
|
+
expect(subject.language).to eq('en')
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
describe '#save_to_xml' do
|
89
|
+
it 'writes XML' do
|
90
|
+
value = 'Mammals--Embryology'
|
91
|
+
lang = 'en-us'
|
92
|
+
scheme = 'LCSH'
|
93
|
+
scheme_uri = URI('http://id.loc.gov/authorities/subjects')
|
94
|
+
|
95
|
+
subject = Subject.new(
|
96
|
+
language: lang,
|
97
|
+
scheme: scheme,
|
98
|
+
scheme_uri: scheme_uri,
|
99
|
+
value: value
|
100
|
+
)
|
101
|
+
|
102
|
+
expected_xml = '<subject xml:lang="en-us" schemeURI="http://id.loc.gov/authorities/subjects" subjectScheme="LCSH">Mammals--Embryology</subject>'
|
103
|
+
expect(subject.save_to_xml).to be_xml(expected_xml)
|
104
|
+
end
|
105
|
+
end
|
106
|
+
end
|
107
|
+
end
|
108
|
+
end
|
@@ -0,0 +1,113 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module Datacite
|
4
|
+
module Mapping
|
5
|
+
describe Title do
|
6
|
+
describe '#initialize' do
|
7
|
+
it 'sets the value' do
|
8
|
+
value = 'An Account of a Very Odd Monstrous Calf'
|
9
|
+
title = Title.new(value: value, language: 'en-emodeng')
|
10
|
+
expect(title.value).to eq(value)
|
11
|
+
end
|
12
|
+
|
13
|
+
it 'sets the language' do
|
14
|
+
lang = 'en-emodeng'
|
15
|
+
title = Title.new(language: lang, value: 'Observables upon a Monstrous Head')
|
16
|
+
expect(title.language).to eq(lang)
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'defaults language to "en"' do
|
20
|
+
title = Title.new(value: 'A Relation of an Accident by Thunder and Lightning, at Oxford')
|
21
|
+
expect(title.language).to eq('en')
|
22
|
+
end
|
23
|
+
|
24
|
+
it 'sets the type' do
|
25
|
+
type = TitleType::SUBTITLE
|
26
|
+
title = Title.new(type: type, value: 'And a Contest between Two Artists about Optick Glasses, &c', language: 'en-emodeng')
|
27
|
+
expect(title.type).to eq(type)
|
28
|
+
end
|
29
|
+
|
30
|
+
it 'defaults to a nil type' do
|
31
|
+
title = Title.new(value: "Of Some Books Lately Publish't", language: 'en-emodeng')
|
32
|
+
expect(title.type).to be_nil
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
describe 'value=' do
|
37
|
+
it 'sets the value' do
|
38
|
+
title = Title.allocate
|
39
|
+
title.value = "Of Some Books Lately Publish't"
|
40
|
+
expect(title.value).to eq("Of Some Books Lately Publish't")
|
41
|
+
end
|
42
|
+
it 'requires a value' do
|
43
|
+
title = Title.new(value: "Of Some Books Lately Publish't", language: 'en-emodeng')
|
44
|
+
expect { title.value = nil }.to raise_error(ArgumentError)
|
45
|
+
expect(title.value).to eq("Of Some Books Lately Publish't")
|
46
|
+
end
|
47
|
+
it 'requires a non-empty value' do
|
48
|
+
title = Title.new(value: "Of Some Books Lately Publish't", language: 'en-emodeng')
|
49
|
+
expect { title.value = '' }.to raise_error(ArgumentError)
|
50
|
+
expect(title.value).to eq("Of Some Books Lately Publish't")
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
describe 'lang=' do
|
55
|
+
it 'sets the language' do
|
56
|
+
title = Title.new(value: "Of Some Books Lately Publish't", language: 'en-emodeng')
|
57
|
+
new_lang = 'en-gb'
|
58
|
+
title.language = new_lang
|
59
|
+
expect(title.language).to eq(new_lang)
|
60
|
+
end
|
61
|
+
it 'ignores nil' do
|
62
|
+
title = Title.new(value: "Of Some Books Lately Publish't", language: 'en-emodeng')
|
63
|
+
title.language = nil
|
64
|
+
expect(title.language).to eq('en-emodeng')
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
describe '#load_from_xml' do
|
69
|
+
it 'parses XML' do
|
70
|
+
xml_text = '<title xml:lang="en-emodeng" titleType="Subtitle">Together with an Appendix of the Same, Containing an Answer to Some Objections, Made by Severall Persons against That Hypothesis</title>'
|
71
|
+
xml = REXML::Document.new(xml_text).root
|
72
|
+
title = Title.load_from_xml(xml)
|
73
|
+
|
74
|
+
expected_lang = 'en-emodeng'
|
75
|
+
expected_type = TitleType::SUBTITLE
|
76
|
+
expected_value = 'Together with an Appendix of the Same, Containing an Answer to Some Objections, Made by Severall Persons against That Hypothesis'
|
77
|
+
|
78
|
+
expect(title.language).to eq(expected_lang)
|
79
|
+
expect(title.type).to eq(expected_type)
|
80
|
+
expect(title.value).to eq(expected_value)
|
81
|
+
end
|
82
|
+
|
83
|
+
it 'treats missing language as en' do
|
84
|
+
xml_text = '<title>Physical oceanography from BT during cruise U99XX00542B_1979</title>'
|
85
|
+
xml = REXML::Document.new(xml_text).root
|
86
|
+
title = Title.load_from_xml(xml)
|
87
|
+
expect(title.language).to eq('en')
|
88
|
+
end
|
89
|
+
|
90
|
+
it 'trims the value' do
|
91
|
+
xml_text = '<title>
|
92
|
+
Physical oceanography from BT during cruise U99XX00542B_1979
|
93
|
+
</title>'
|
94
|
+
xml = REXML::Document.new(xml_text).root
|
95
|
+
title = Title.load_from_xml(xml)
|
96
|
+
expect(title.value).to eq('Physical oceanography from BT during cruise U99XX00542B_1979')
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
100
|
+
describe '#save_to_xml' do
|
101
|
+
it 'writes XML' do
|
102
|
+
title = Title.new(
|
103
|
+
language: 'en-emodeng',
|
104
|
+
type: TitleType::SUBTITLE,
|
105
|
+
value: 'Together with an Appendix of the Same, Containing an Answer to Some Objections, Made by Severall Persons against That Hypothesis'
|
106
|
+
)
|
107
|
+
expected_xml = '<title xml:lang="en-emodeng" titleType="Subtitle">Together with an Appendix of the Same, Containing an Answer to Some Objections, Made by Severall Persons against That Hypothesis</title>'
|
108
|
+
expect(title.save_to_xml).to be_xml(expected_xml)
|
109
|
+
end
|
110
|
+
end
|
111
|
+
end
|
112
|
+
end
|
113
|
+
end
|
metadata
ADDED
@@ -0,0 +1,262 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: datacite-mapping
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- David Moles
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-12-11 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: typesafe_enum
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0.1'
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 0.1.2
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - "~>"
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0.1'
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 0.1.2
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: xml-mapping_extensions
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - "~>"
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '0.3'
|
40
|
+
type: :runtime
|
41
|
+
prerelease: false
|
42
|
+
version_requirements: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - "~>"
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '0.3'
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: bundler
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - "~>"
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '1.7'
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - "~>"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '1.7'
|
61
|
+
- !ruby/object:Gem::Dependency
|
62
|
+
name: equivalent-xml
|
63
|
+
requirement: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - "~>"
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: 0.6.0
|
68
|
+
type: :development
|
69
|
+
prerelease: false
|
70
|
+
version_requirements: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - "~>"
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: 0.6.0
|
75
|
+
- !ruby/object:Gem::Dependency
|
76
|
+
name: rake
|
77
|
+
requirement: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - "~>"
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '10.4'
|
82
|
+
type: :development
|
83
|
+
prerelease: false
|
84
|
+
version_requirements: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - "~>"
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '10.4'
|
89
|
+
- !ruby/object:Gem::Dependency
|
90
|
+
name: rspec
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - "~>"
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '3.2'
|
96
|
+
type: :development
|
97
|
+
prerelease: false
|
98
|
+
version_requirements: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - "~>"
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: '3.2'
|
103
|
+
- !ruby/object:Gem::Dependency
|
104
|
+
name: simplecov
|
105
|
+
requirement: !ruby/object:Gem::Requirement
|
106
|
+
requirements:
|
107
|
+
- - "~>"
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 0.9.2
|
110
|
+
type: :development
|
111
|
+
prerelease: false
|
112
|
+
version_requirements: !ruby/object:Gem::Requirement
|
113
|
+
requirements:
|
114
|
+
- - "~>"
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: 0.9.2
|
117
|
+
- !ruby/object:Gem::Dependency
|
118
|
+
name: simplecov-console
|
119
|
+
requirement: !ruby/object:Gem::Requirement
|
120
|
+
requirements:
|
121
|
+
- - "~>"
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: 0.2.0
|
124
|
+
type: :development
|
125
|
+
prerelease: false
|
126
|
+
version_requirements: !ruby/object:Gem::Requirement
|
127
|
+
requirements:
|
128
|
+
- - "~>"
|
129
|
+
- !ruby/object:Gem::Version
|
130
|
+
version: 0.2.0
|
131
|
+
- !ruby/object:Gem::Dependency
|
132
|
+
name: rubocop
|
133
|
+
requirement: !ruby/object:Gem::Requirement
|
134
|
+
requirements:
|
135
|
+
- - "~>"
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
version: 0.32.1
|
138
|
+
type: :development
|
139
|
+
prerelease: false
|
140
|
+
version_requirements: !ruby/object:Gem::Requirement
|
141
|
+
requirements:
|
142
|
+
- - "~>"
|
143
|
+
- !ruby/object:Gem::Version
|
144
|
+
version: 0.32.1
|
145
|
+
- !ruby/object:Gem::Dependency
|
146
|
+
name: yard
|
147
|
+
requirement: !ruby/object:Gem::Requirement
|
148
|
+
requirements:
|
149
|
+
- - "~>"
|
150
|
+
- !ruby/object:Gem::Version
|
151
|
+
version: '0.8'
|
152
|
+
type: :development
|
153
|
+
prerelease: false
|
154
|
+
version_requirements: !ruby/object:Gem::Requirement
|
155
|
+
requirements:
|
156
|
+
- - "~>"
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
version: '0.8'
|
159
|
+
description: A gem for working with the Datacite XML format
|
160
|
+
email:
|
161
|
+
- david.moles@ucop.edu
|
162
|
+
executables: []
|
163
|
+
extensions: []
|
164
|
+
extra_rdoc_files: []
|
165
|
+
files:
|
166
|
+
- ".gitignore"
|
167
|
+
- ".rubocop.yml"
|
168
|
+
- ".ruby-version"
|
169
|
+
- ".travis.yml"
|
170
|
+
- ".yardopts"
|
171
|
+
- CHANGES.md
|
172
|
+
- Gemfile
|
173
|
+
- LICENSE.md
|
174
|
+
- README.md
|
175
|
+
- Rakefile
|
176
|
+
- datacite-mapping.gemspec
|
177
|
+
- examples/reading.rb
|
178
|
+
- examples/writing.rb
|
179
|
+
- lib/datacite/mapping.rb
|
180
|
+
- lib/datacite/mapping/alternate_identifier.rb
|
181
|
+
- lib/datacite/mapping/contributor.rb
|
182
|
+
- lib/datacite/mapping/creator.rb
|
183
|
+
- lib/datacite/mapping/date.rb
|
184
|
+
- lib/datacite/mapping/description.rb
|
185
|
+
- lib/datacite/mapping/geo_location.rb
|
186
|
+
- lib/datacite/mapping/geo_location_box.rb
|
187
|
+
- lib/datacite/mapping/geo_location_point.rb
|
188
|
+
- lib/datacite/mapping/identifier.rb
|
189
|
+
- lib/datacite/mapping/module_info.rb
|
190
|
+
- lib/datacite/mapping/name_identifier.rb
|
191
|
+
- lib/datacite/mapping/related_identifier.rb
|
192
|
+
- lib/datacite/mapping/resource.rb
|
193
|
+
- lib/datacite/mapping/resource_type.rb
|
194
|
+
- lib/datacite/mapping/rights.rb
|
195
|
+
- lib/datacite/mapping/subject.rb
|
196
|
+
- lib/datacite/mapping/title.rb
|
197
|
+
- spec/.rubocop.yml
|
198
|
+
- spec/data/resource.xml
|
199
|
+
- spec/rspec_custom_matchers.rb
|
200
|
+
- spec/spec_helper.rb
|
201
|
+
- spec/unit/datacite/mapping/alternate_identifier_spec.rb
|
202
|
+
- spec/unit/datacite/mapping/contributor_spec.rb
|
203
|
+
- spec/unit/datacite/mapping/creator_spec.rb
|
204
|
+
- spec/unit/datacite/mapping/date_spec.rb
|
205
|
+
- spec/unit/datacite/mapping/description_spec.rb
|
206
|
+
- spec/unit/datacite/mapping/geo_location_box_spec.rb
|
207
|
+
- spec/unit/datacite/mapping/geo_location_point_spec.rb
|
208
|
+
- spec/unit/datacite/mapping/geo_location_spec.rb
|
209
|
+
- spec/unit/datacite/mapping/identifier_spec.rb
|
210
|
+
- spec/unit/datacite/mapping/name_identifier_spec.rb
|
211
|
+
- spec/unit/datacite/mapping/related_identifier_spec.rb
|
212
|
+
- spec/unit/datacite/mapping/resource_spec.rb
|
213
|
+
- spec/unit/datacite/mapping/resource_type_spec.rb
|
214
|
+
- spec/unit/datacite/mapping/rights_spec.rb
|
215
|
+
- spec/unit/datacite/mapping/subject_spec.rb
|
216
|
+
- spec/unit/datacite/mapping/title_spec.rb
|
217
|
+
homepage: http://github.com/CDLUC3/datacite-mapping
|
218
|
+
licenses:
|
219
|
+
- MIT
|
220
|
+
metadata: {}
|
221
|
+
post_install_message:
|
222
|
+
rdoc_options: []
|
223
|
+
require_paths:
|
224
|
+
- lib
|
225
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
226
|
+
requirements:
|
227
|
+
- - ">="
|
228
|
+
- !ruby/object:Gem::Version
|
229
|
+
version: '0'
|
230
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
231
|
+
requirements:
|
232
|
+
- - ">="
|
233
|
+
- !ruby/object:Gem::Version
|
234
|
+
version: '0'
|
235
|
+
requirements: []
|
236
|
+
rubyforge_project:
|
237
|
+
rubygems_version: 2.4.5.1
|
238
|
+
signing_key:
|
239
|
+
specification_version: 4
|
240
|
+
summary: Parses and generates Datacite XML documents
|
241
|
+
test_files:
|
242
|
+
- spec/.rubocop.yml
|
243
|
+
- spec/data/resource.xml
|
244
|
+
- spec/rspec_custom_matchers.rb
|
245
|
+
- spec/spec_helper.rb
|
246
|
+
- spec/unit/datacite/mapping/alternate_identifier_spec.rb
|
247
|
+
- spec/unit/datacite/mapping/contributor_spec.rb
|
248
|
+
- spec/unit/datacite/mapping/creator_spec.rb
|
249
|
+
- spec/unit/datacite/mapping/date_spec.rb
|
250
|
+
- spec/unit/datacite/mapping/description_spec.rb
|
251
|
+
- spec/unit/datacite/mapping/geo_location_box_spec.rb
|
252
|
+
- spec/unit/datacite/mapping/geo_location_point_spec.rb
|
253
|
+
- spec/unit/datacite/mapping/geo_location_spec.rb
|
254
|
+
- spec/unit/datacite/mapping/identifier_spec.rb
|
255
|
+
- spec/unit/datacite/mapping/name_identifier_spec.rb
|
256
|
+
- spec/unit/datacite/mapping/related_identifier_spec.rb
|
257
|
+
- spec/unit/datacite/mapping/resource_spec.rb
|
258
|
+
- spec/unit/datacite/mapping/resource_type_spec.rb
|
259
|
+
- spec/unit/datacite/mapping/rights_spec.rb
|
260
|
+
- spec/unit/datacite/mapping/subject_spec.rb
|
261
|
+
- spec/unit/datacite/mapping/title_spec.rb
|
262
|
+
has_rdoc:
|