stanford-mods 3.3.5 → 3.3.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b3c8cd48602aa7d71d0187cd6351dd4496e908bea0520c2ad168be06607e78e6
4
- data.tar.gz: e6159c3b26883f55945f1b182c2243d6019ff0106558b07e8c13226c69cf0d77
3
+ metadata.gz: 7028a87a57f12536c2d9aad2271ce920e738a11edd16fe1403d9958476a8c5e3
4
+ data.tar.gz: f4f6bcd19a21be08ac71f5bf09dc703957deea569f9479b1df5564540c97aad9
5
5
  SHA512:
6
- metadata.gz: c837186247e98a97edcae6e53941df131cb63b3de584d5e8983cb96b161ee6f240d66497819a7e39fad9c0f3a91a50dfb40dadb95bd8b4ff390ba62eb96bcf44
7
- data.tar.gz: e0461f103546a3f266ae61699765e0db14851034f7aacf1e03f138af49bcb823e6383b34dfafe333ca19ee6b0ce2cb4b227cc6b17016842c4987193a409aeabf
6
+ metadata.gz: 15e15c55737607e91482c2898bed91e41e659a6c809c5652183be561dd5ea0a2de576538a793be156d8eae4458c82b4950b1eaf64ed4c7b5fe61d721df3a5f1a
7
+ data.tar.gz: 22e36b2e62be2db59fbe576c7177b7460ed021656b17769f7175bf847b405763ee8e7c3f603d3c6f818a0c37d6c7cc05cf876f0138acecb36bf5c4f296afecf2
@@ -142,9 +142,9 @@ module Stanford
142
142
  @value = value
143
143
  end
144
144
 
145
- # True if the element text isn't blank or the placeholder "9999".
146
- def valid?
147
- text.present? && !['9999', '0000-00-00', 'uuuu'].include?(text.strip)
145
+ # True if the element text isn't blank or one of a set of unparseable values.
146
+ def parseable?
147
+ text.present? && !['9999', '0000-00-00', 'uuuu', '[uuuu]'].include?(text.strip)
148
148
  end
149
149
 
150
150
  def key_date?
@@ -161,7 +161,7 @@ module Stanford
161
161
 
162
162
  def sort_key
163
163
  return unless date
164
-
164
+
165
165
  year = if date.is_a?(EDTF::Interval)
166
166
  date.from.year
167
167
  else
@@ -341,7 +341,7 @@ module Stanford
341
341
 
342
342
  def parse_dates(elements)
343
343
  # convert to DateValue objects and keep only valid ones
344
- dates = elements.map(&:as_object).flatten.map { |element| DateValue.new(element) }.select(&:valid?)
344
+ dates = elements.map(&:as_object).flatten.map { |element| DateValue.new(element) }.select(&:parseable?)
345
345
 
346
346
  # join any date ranges into DateRange objects
347
347
  point_dates, dates = dates.partition(&:point)
@@ -1,6 +1,6 @@
1
1
  module Stanford
2
2
  module Mods
3
3
  # this is the Ruby Gem version
4
- VERSION = '3.3.5'.freeze
4
+ VERSION = '3.3.6'.freeze
5
5
  end
6
6
  end
data/lib/stanford-mods.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  require 'active_support'
2
2
  require 'active_support/core_ext/integer/inflections'
3
+ require 'active_support/core_ext/object/blank'
3
4
  require 'mods'
4
5
  require 'stanford-mods/coordinate'
5
6
  require 'stanford-mods/imprint'
data/spec/imprint_spec.rb CHANGED
@@ -20,6 +20,9 @@ describe Stanford::Mods::Imprint do
20
20
  <dateIssued>
21
21
  uuuu
22
22
  </dateIssued>
23
+ <dateIssued>
24
+ [uuuu]
25
+ </dateIssued>
23
26
  <dateIssued>
24
27
  0000-00-00
25
28
  </dateIssued>' +
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stanford-mods
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.5
4
+ version: 3.3.6
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: 2023-09-29 00:00:00.000000000 Z
12
+ date: 2023-10-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: mods
@@ -214,7 +214,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
214
214
  - !ruby/object:Gem::Version
215
215
  version: '0'
216
216
  requirements: []
217
- rubygems_version: 3.3.7
217
+ rubygems_version: 3.4.14
218
218
  signing_key:
219
219
  specification_version: 4
220
220
  summary: Stanford specific wrangling of MODS metadata