stanford-mods 3.3.5 → 3.3.6

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 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