mods_display 0.3.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/mods_display/fields/imprint.rb +9 -5
- data/lib/mods_display/version.rb +1 -1
- data/spec/fields/imprint_spec.rb +6 -0
- data/spec/fixtures/imprint_fixtures.rb +12 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 42641f12e467c9b272076b0b6815cd70db0fa05d
|
4
|
+
data.tar.gz: 09f1736b6d10375c9b42886bff7229727112d5ee
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a345e88948e4b742cc76b13ca85461cf1050b418c99a29449965fa3fcef607487883ff87736db4547252b450ab45acd2813a1e53d731b2a7fbded2be826c8569
|
7
|
+
data.tar.gz: 73513c3417b6f6a7903d1769b38aaaae05c50a4806c8b4b3809c00d28aafd97a8af7611d4a3d1c11431b8490180dd58c6c2ba59edd3b0f5b51b084d099e2e87f
|
@@ -156,11 +156,15 @@ class ModsDisplay::Imprint < ModsDisplay::Field
|
|
156
156
|
end
|
157
157
|
def process_w3cdtf_date(date_field)
|
158
158
|
date_field = date_field.clone
|
159
|
-
date_field.content =
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
159
|
+
date_field.content = begin
|
160
|
+
if date_field.text.strip =~ /^\d{4}-\d{2}-\d{2}$/
|
161
|
+
Date.parse(date_field.text).strftime(@config.full_date_format)
|
162
|
+
elsif date_field.text.strip =~ /^\d{4}-\d{2}$/
|
163
|
+
Date.parse("#{date_field.text}-01").strftime(@config.short_date_format)
|
164
|
+
else
|
165
|
+
date_field.content
|
166
|
+
end
|
167
|
+
rescue
|
164
168
|
date_field.content
|
165
169
|
end
|
166
170
|
date_field
|
data/lib/mods_display/version.rb
CHANGED
data/spec/fields/imprint_spec.rb
CHANGED
@@ -35,6 +35,7 @@ describe ModsDisplay::Imprint do
|
|
35
35
|
@encoded_place = Stanford::Mods::Record.new.from_str(encoded_place, false).origin_info
|
36
36
|
@encoded_dates = Stanford::Mods::Record.new.from_str(encoded_dates, false).origin_info
|
37
37
|
@bad_dates = Stanford::Mods::Record.new.from_str(bad_dates, false).origin_info
|
38
|
+
@invalid_dates = Stanford::Mods::Record.new.from_str(invalid_dates, false).origin_info
|
38
39
|
end
|
39
40
|
|
40
41
|
describe "labels" do
|
@@ -193,6 +194,11 @@ describe ModsDisplay::Imprint do
|
|
193
194
|
field.values.join.should_not include "9999"
|
194
195
|
end
|
195
196
|
end
|
197
|
+
it "should handle invalid dates by returning the original value" do
|
198
|
+
fields = mods_display_imprint(@invalid_dates).fields
|
199
|
+
fields.length.should == 2
|
200
|
+
fields.last.values.should == ["1920-09-00"]
|
201
|
+
end
|
196
202
|
end
|
197
203
|
end
|
198
204
|
describe "place processing" do
|
@@ -265,4 +265,16 @@ module ImprintFixtures
|
|
265
265
|
</mods>
|
266
266
|
MODS
|
267
267
|
end
|
268
|
+
def invalid_dates
|
269
|
+
<<-MODS
|
270
|
+
<mods>
|
271
|
+
<originInfo>
|
272
|
+
<place>
|
273
|
+
<placeTerm>United States</placeTerm>
|
274
|
+
</place>
|
275
|
+
<dateModified encoding="w3cdtf">1920-09-00</dateModified>
|
276
|
+
</originInfo>
|
277
|
+
</mods>
|
278
|
+
MODS
|
279
|
+
end
|
268
280
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mods_display
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jessie Keck
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-12-
|
11
|
+
date: 2013-12-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: stanford-mods
|