mods 3.0.2 → 3.0.3
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/lib/mods/date.rb +10 -8
- data/lib/mods/version.rb +1 -1
- data/spec/lib/date_spec.rb +4 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f6ac4089b58e673c2783c670e689cb6901bbad611a7271c95f1f8909726beb07
|
4
|
+
data.tar.gz: ee1ee35aeae21d319485212f56535e4bc06068470295f5adcf3ff8593a06c9d0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 553a4d9e91f50357ff56b5e2c19404386852308c30f06f67ccf6baa586f74f3f4bdbfd05826d3225aac8a0793bdccd5049994e5df04ef691a86c7777a21e554c
|
7
|
+
data.tar.gz: a496b63bef0f1b512d0e3c87886ee80b6665dd90044387d5ce318cc2471d855fcac64839d7d95e9bca75ca1705d786ee0b6220e254b10d31fa32a79768521d66
|
data/lib/mods/date.rb
CHANGED
@@ -183,7 +183,7 @@ module Mods
|
|
183
183
|
|
184
184
|
def self.munge_to_yyyy(text)
|
185
185
|
value = roman_to_int(text.upcase)
|
186
|
-
(value - 1).to_s.rjust(2, "0") + '
|
186
|
+
(value - 1).to_s.rjust(2, "0") + 'xx'
|
187
187
|
end
|
188
188
|
end
|
189
189
|
|
@@ -194,7 +194,7 @@ module Mods
|
|
194
194
|
REGEX = /(?<century>\d{2})--/
|
195
195
|
def self.normalize_to_edtf(text)
|
196
196
|
matches = text.match(REGEX)
|
197
|
-
"#{matches[:century]}
|
197
|
+
"#{matches[:century]}xx"
|
198
198
|
end
|
199
199
|
end
|
200
200
|
|
@@ -204,7 +204,7 @@ module Mods
|
|
204
204
|
|
205
205
|
def self.normalize_to_edtf(text)
|
206
206
|
matches = text.match(REGEX)
|
207
|
-
"#{matches[:century].to_i - 1}
|
207
|
+
"#{matches[:century].to_i - 1}xx"
|
208
208
|
end
|
209
209
|
end
|
210
210
|
|
@@ -224,7 +224,7 @@ module Mods
|
|
224
224
|
|
225
225
|
def self.normalize_to_edtf(text)
|
226
226
|
matches = text.match(REGEX)
|
227
|
-
"#{matches[:year]}
|
227
|
+
"#{matches[:year]}x"
|
228
228
|
end
|
229
229
|
end
|
230
230
|
|
@@ -234,7 +234,7 @@ module Mods
|
|
234
234
|
|
235
235
|
def self.normalize_to_edtf(text)
|
236
236
|
matches = text.match(REGEX)
|
237
|
-
"#{matches[:year]}
|
237
|
+
"#{matches[:year]}x"
|
238
238
|
end
|
239
239
|
end
|
240
240
|
|
@@ -460,6 +460,8 @@ module Mods
|
|
460
460
|
:century
|
461
461
|
elsif date_range.is_a? EDTF::Decade
|
462
462
|
:decade
|
463
|
+
elsif date.is_a? EDTF::Season
|
464
|
+
:month
|
463
465
|
elsif date.is_a? EDTF::Interval
|
464
466
|
date_range.precision
|
465
467
|
else
|
@@ -497,7 +499,7 @@ module Mods
|
|
497
499
|
case date_range
|
498
500
|
when EDTF::Unknown
|
499
501
|
nil
|
500
|
-
when EDTF::Epoch, EDTF::Interval
|
502
|
+
when EDTF::Epoch, EDTF::Interval, EDTF::Season
|
501
503
|
date_range.min
|
502
504
|
when EDTF::Set
|
503
505
|
date_range.to_a.first
|
@@ -522,7 +524,7 @@ module Mods
|
|
522
524
|
case date_range
|
523
525
|
when EDTF::Unknown
|
524
526
|
nil
|
525
|
-
when EDTF::Epoch, EDTF::Interval
|
527
|
+
when EDTF::Epoch, EDTF::Interval, EDTF::Season
|
526
528
|
date_range.max
|
527
529
|
when EDTF::Set
|
528
530
|
date_range.to_a.last.change(month: 12, day: 31)
|
@@ -538,7 +540,7 @@ module Mods
|
|
538
540
|
|
539
541
|
def date_range
|
540
542
|
@date_range ||= if text =~ /u/
|
541
|
-
::Date.edtf(text.gsub('u', 'X')) || date
|
543
|
+
::Date.edtf(text.gsub('u', 'x').gsub('X', 'x')) || date
|
542
544
|
else
|
543
545
|
date
|
544
546
|
end
|
data/lib/mods/version.rb
CHANGED
data/spec/lib/date_spec.rb
CHANGED
@@ -101,7 +101,8 @@ RSpec.describe Mods::Date do
|
|
101
101
|
'1900-06' => :month,
|
102
102
|
'1900-06-uu' => :month,
|
103
103
|
'1900-06-15' => :day,
|
104
|
-
'2014-01-01/2020-12-31' => :day
|
104
|
+
'2014-01-01/2020-12-31' => :day,
|
105
|
+
'1986-22' => :month
|
105
106
|
}.each do |data, expected|
|
106
107
|
describe "with #{data}" do
|
107
108
|
let(:date_element) { "<dateCreated encoding=\"edtf\">#{data}</dateCreated>" }
|
@@ -201,9 +202,9 @@ RSpec.describe Mods::Date do
|
|
201
202
|
{
|
202
203
|
'1905' => Date.parse('1905-01-01')..Date.parse('1905-12-31'),
|
203
204
|
'190u' => Date.parse('1900-01-01')..Date.parse('1909-12-31'),
|
204
|
-
'
|
205
|
+
'190x' => Date.parse('1900-01-01')..Date.parse('1909-12-31'),
|
205
206
|
'19uu' => Date.parse('1900-01-01')..Date.parse('1999-12-31'),
|
206
|
-
'
|
207
|
+
'19xx' => Date.parse('1900-01-01')..Date.parse('1999-12-31'),
|
207
208
|
'1856/1876' => Date.parse('1856-01-01')..Date.parse('1876-12-31'),
|
208
209
|
'[1667,1668,1670..1672]' => Date.parse('1667-01-01')..Date.parse('1672-12-31'),
|
209
210
|
'1900-uu' => Date.parse('1900-01-01')..Date.parse('1900-12-31'),
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mods
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
4
|
+
version: 3.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Naomi Dushay
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2022-
|
12
|
+
date: 2022-07-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: nokogiri
|