stanford-mods 2.6.0 → 2.6.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.github/workflows/ruby.yml +24 -0
- data/.rubocop.yml +2 -2
- data/.rubocop_todo.yml +126 -79
- data/Gemfile +0 -10
- data/lib/stanford-mods/coordinate.rb +3 -0
- data/lib/stanford-mods/date_parsing.rb +14 -1
- data/lib/stanford-mods/imprint.rb +19 -10
- data/lib/stanford-mods/name.rb +3 -1
- data/lib/stanford-mods/origin_info.rb +14 -0
- data/lib/stanford-mods/searchworks.rb +15 -3
- data/lib/stanford-mods/searchworks_languages.rb +4 -0
- data/lib/stanford-mods/searchworks_subjects.rb +2 -0
- data/lib/stanford-mods/version.rb +1 -1
- data/lib/stanford-mods.rb +1 -0
- data/spec/date_parsing_spec.rb +3 -1
- data/spec/fixtures/searchworks_imprint_data.rb +1 -1
- data/spec/fixtures/searchworks_pub_date_data.rb +1 -1
- data/spec/imprint_spec.rb +2 -0
- data/spec/name_spec.rb +5 -2
- data/spec/origin_info_spec.rb +3 -0
- data/spec/physical_location_spec.rb +6 -0
- data/spec/searchworks_pub_dates_spec.rb +1 -0
- data/spec/searchworks_spec.rb +1 -0
- data/spec/searchworks_subject_raw_spec.rb +6 -0
- data/spec/searchworks_subject_spec.rb +2 -0
- data/spec/searchworks_title_spec.rb +36 -0
- data/spec/spec_helper.rb +2 -2
- data/stanford-mods.gemspec +3 -0
- metadata +49 -8
- data/.travis.yml +0 -12
@@ -27,6 +27,19 @@ describe 'title fields (searchworks.rb)' do
|
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
30
|
+
context 'when titleInfo contains a subTitle but no title' do
|
31
|
+
let(:record) do
|
32
|
+
m = "<mods #{@ns_decl}><titleInfo><subTitle>An overview from 1942-1950</subTitle></titleInfo></mods>"
|
33
|
+
rec = Stanford::Mods::Record.new
|
34
|
+
rec.from_str m
|
35
|
+
rec
|
36
|
+
end
|
37
|
+
|
38
|
+
it 'returns nil' do
|
39
|
+
expect(record.sw_full_title).to be_nil
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
30
43
|
context 'missing title node' do
|
31
44
|
it 'deals with missing titleInfo node' do
|
32
45
|
m = "<mods #{@ns_decl}></mods>"
|
@@ -80,6 +93,7 @@ describe 'title fields (searchworks.rb)' do
|
|
80
93
|
expect(@smods_rec.sw_full_title).to eq 'The Olympics!'
|
81
94
|
end
|
82
95
|
end # no subtitle
|
96
|
+
|
83
97
|
context 'subtitle' do
|
84
98
|
it 'end title with a colon' do
|
85
99
|
m = "<mods #{@ns_decl}>
|
@@ -123,6 +137,7 @@ describe 'title fields (searchworks.rb)' do
|
|
123
137
|
expect(@smods_rec.sw_full_title).to eq 'The Olympics : a history?'
|
124
138
|
end
|
125
139
|
end # subtitle
|
140
|
+
|
126
141
|
context 'partName' do
|
127
142
|
context 'no partNumber' do
|
128
143
|
it 'end partName with period' do
|
@@ -162,6 +177,7 @@ describe 'title fields (searchworks.rb)' do
|
|
162
177
|
expect(@smods_rec.sw_full_title).to eq 'cfb. Appendix.'
|
163
178
|
end
|
164
179
|
end # no partNumber
|
180
|
+
|
165
181
|
context 'partNumber' do
|
166
182
|
it 'end partNumber with comma' do
|
167
183
|
m = "<mods #{@ns_decl}>
|
@@ -205,6 +221,7 @@ describe 'title fields (searchworks.rb)' do
|
|
205
221
|
end
|
206
222
|
end
|
207
223
|
end # partName
|
224
|
+
|
208
225
|
context 'no partName, but partNumber' do
|
209
226
|
it 'end partNumber with period' do
|
210
227
|
m = "<mods #{@ns_decl}>
|
@@ -322,6 +339,7 @@ describe 'title fields (searchworks.rb)' do
|
|
322
339
|
expect(@smods_rec.sw_title_display).to eq 'The Jerk'
|
323
340
|
end
|
324
341
|
end
|
342
|
+
|
325
343
|
context 'no subtitle' do
|
326
344
|
it 'end title with a period' do
|
327
345
|
m = "<mods #{@ns_decl}>
|
@@ -351,6 +369,7 @@ describe 'title fields (searchworks.rb)' do
|
|
351
369
|
expect(@smods_rec.sw_title_display).to eq 'The Olympics!'
|
352
370
|
end
|
353
371
|
end # no subtitle
|
372
|
+
|
354
373
|
context 'subtitle' do
|
355
374
|
it 'end title with a colon' do
|
356
375
|
m = "<mods #{@ns_decl}>
|
@@ -394,6 +413,7 @@ describe 'title fields (searchworks.rb)' do
|
|
394
413
|
expect(@smods_rec.sw_title_display).to eq 'The Olympics : a history?'
|
395
414
|
end
|
396
415
|
end # subtitle
|
416
|
+
|
397
417
|
context 'partName' do
|
398
418
|
context 'no partNumber' do
|
399
419
|
it 'end partName with period' do
|
@@ -433,6 +453,7 @@ describe 'title fields (searchworks.rb)' do
|
|
433
453
|
expect(@smods_rec.sw_title_display).to eq 'cfb. Appendix'
|
434
454
|
end
|
435
455
|
end # no partNumber
|
456
|
+
|
436
457
|
context 'partNumber' do
|
437
458
|
it 'end partNumber with comma' do
|
438
459
|
m = "<mods #{@ns_decl}>
|
@@ -476,6 +497,7 @@ describe 'title fields (searchworks.rb)' do
|
|
476
497
|
end
|
477
498
|
end
|
478
499
|
end # partName
|
500
|
+
|
479
501
|
context 'no partName, but partNumber' do
|
480
502
|
it 'end partNumber with period' do
|
481
503
|
m = "<mods #{@ns_decl}>
|
@@ -544,6 +566,7 @@ describe 'title fields (searchworks.rb)' do
|
|
544
566
|
@smods_rec.from_str(m)
|
545
567
|
@addl_titles = @smods_rec.sw_addl_titles
|
546
568
|
end
|
569
|
+
|
547
570
|
it 'should not include the main title' do
|
548
571
|
expect(@addl_titles.size).to eq 2
|
549
572
|
expect(@addl_titles).not_to include(@smods_rec.sw_full_title)
|
@@ -563,6 +586,18 @@ describe 'title fields (searchworks.rb)' do
|
|
563
586
|
@smods_rec.from_str(m)
|
564
587
|
expect(@smods_rec.sw_addl_titles).to eq ['Alternative', 'Joke]']
|
565
588
|
end
|
589
|
+
it 'excludes weird cases where there is no short title' do
|
590
|
+
m = <<-EOXML
|
591
|
+
<mods #{@ns_decl}>
|
592
|
+
<titleInfo></titleInfo>
|
593
|
+
<titleInfo type="alternative">
|
594
|
+
<title>Sponsored projects report for the year ended</title>
|
595
|
+
</titleInfo>
|
596
|
+
</mods>
|
597
|
+
EOXML
|
598
|
+
@smods_rec.from_str(m)
|
599
|
+
expect(@smods_rec.sw_addl_titles).to be_empty
|
600
|
+
end
|
566
601
|
end
|
567
602
|
|
568
603
|
context 'sort title' do
|
@@ -630,6 +665,7 @@ describe 'title fields (searchworks.rb)' do
|
|
630
665
|
</titleInfo></mods>"
|
631
666
|
@all_smods_rec.from_str(all)
|
632
667
|
end
|
668
|
+
|
633
669
|
it 'short titles' do
|
634
670
|
expect(@mccarthy_smods_rec.sw_short_title).to eql 'McCarthy, John'
|
635
671
|
expect(@insp_general_smods_rec.sw_short_title).to eql 'Semiannual report to Congress'
|
data/spec/spec_helper.rb
CHANGED
data/stanford-mods.gemspec
CHANGED
@@ -27,4 +27,7 @@ Gem::Specification.new do |gem|
|
|
27
27
|
gem.add_development_dependency "yard"
|
28
28
|
# tests
|
29
29
|
gem.add_development_dependency 'rspec'
|
30
|
+
gem.add_development_dependency 'rubocop', '~> 0.60'
|
31
|
+
gem.add_development_dependency 'rubocop-rspec'
|
32
|
+
gem.add_development_dependency 'simplecov'
|
30
33
|
end
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stanford-mods
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.6.
|
4
|
+
version: 2.6.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Naomi Dushay
|
8
8
|
- Bess Sadler
|
9
|
-
autorequire:
|
9
|
+
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2022-01-12 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: mods
|
@@ -95,6 +95,48 @@ dependencies:
|
|
95
95
|
- - ">="
|
96
96
|
- !ruby/object:Gem::Version
|
97
97
|
version: '0'
|
98
|
+
- !ruby/object:Gem::Dependency
|
99
|
+
name: rubocop
|
100
|
+
requirement: !ruby/object:Gem::Requirement
|
101
|
+
requirements:
|
102
|
+
- - "~>"
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: '0.60'
|
105
|
+
type: :development
|
106
|
+
prerelease: false
|
107
|
+
version_requirements: !ruby/object:Gem::Requirement
|
108
|
+
requirements:
|
109
|
+
- - "~>"
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: '0.60'
|
112
|
+
- !ruby/object:Gem::Dependency
|
113
|
+
name: rubocop-rspec
|
114
|
+
requirement: !ruby/object:Gem::Requirement
|
115
|
+
requirements:
|
116
|
+
- - ">="
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: '0'
|
119
|
+
type: :development
|
120
|
+
prerelease: false
|
121
|
+
version_requirements: !ruby/object:Gem::Requirement
|
122
|
+
requirements:
|
123
|
+
- - ">="
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: simplecov
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
129
|
+
requirements:
|
130
|
+
- - ">="
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
version: '0'
|
133
|
+
type: :development
|
134
|
+
prerelease: false
|
135
|
+
version_requirements: !ruby/object:Gem::Requirement
|
136
|
+
requirements:
|
137
|
+
- - ">="
|
138
|
+
- !ruby/object:Gem::Version
|
139
|
+
version: '0'
|
98
140
|
description: Stanford specific wrangling of MODS metadata from DOR, the Stanford Digital
|
99
141
|
Object Repository
|
100
142
|
email:
|
@@ -107,12 +149,12 @@ extra_rdoc_files:
|
|
107
149
|
- README.md
|
108
150
|
files:
|
109
151
|
- ".coveralls.yml"
|
152
|
+
- ".github/workflows/ruby.yml"
|
110
153
|
- ".gitignore"
|
111
154
|
- ".hound.yml"
|
112
155
|
- ".rspec"
|
113
156
|
- ".rubocop.yml"
|
114
157
|
- ".rubocop_todo.yml"
|
115
|
-
- ".travis.yml"
|
116
158
|
- ".yardopts"
|
117
159
|
- Gemfile
|
118
160
|
- LICENSE
|
@@ -155,7 +197,7 @@ files:
|
|
155
197
|
homepage: https://github.com/sul-dlss/stanford-mods
|
156
198
|
licenses: []
|
157
199
|
metadata: {}
|
158
|
-
post_install_message:
|
200
|
+
post_install_message:
|
159
201
|
rdoc_options: []
|
160
202
|
require_paths:
|
161
203
|
- lib
|
@@ -170,9 +212,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
170
212
|
- !ruby/object:Gem::Version
|
171
213
|
version: '0'
|
172
214
|
requirements: []
|
173
|
-
|
174
|
-
|
175
|
-
signing_key:
|
215
|
+
rubygems_version: 3.2.32
|
216
|
+
signing_key:
|
176
217
|
specification_version: 4
|
177
218
|
summary: Stanford specific wrangling of MODS metadata
|
178
219
|
test_files:
|
data/.travis.yml
DELETED