stanford-mods 1.0.0 → 1.0.1

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
  SHA1:
3
- metadata.gz: f1bb292e526add1944d2595260b5edfdd66950fb
4
- data.tar.gz: e814a340c6e3ceff0f0d5b373631409c3f5f0253
3
+ metadata.gz: a99ffd1547688f19839564988a43e698223bc3ac
4
+ data.tar.gz: 261a71cbde0d578de0c1b6f43fe329bf531c20ab
5
5
  SHA512:
6
- metadata.gz: e9f4f142a9b09f8a61d82570b1fe0588dd3224645de7047e9b9229ff47c0efc15a12bba4583d0edce2ed2d36a2beddddb66edc3ea1edcc9010a6146136c8e1a5
7
- data.tar.gz: b17d44c20f7bf39645f0659ddf034d6846c13ee6a548da2386b454269144882314acb34cfbde2d7a0baacd4e63f0d9d59aa9a859c4acf41f4cc651c15eb3ae18
6
+ metadata.gz: 996cc6f68f4fb8f3154a21423668e188826c46305ab2cd1445c871f0bcf7a20c0e362332b42ceebdee9be8a70e2ad0420532516356009ef4b7b1c1327e4cb3b3
7
+ data.tar.gz: 7ebf7b202fd71b7c546fde56f1064092f116e146f023c44a7d4f993ce39db0f88d402306fcdae44f081cffbd82fffdc5aeecb06c764567fc52c5df413ed87ccd
data/README.rdoc CHANGED
@@ -59,6 +59,7 @@ Example Using SearchWorks Mixins:
59
59
  6. Create new Pull Request
60
60
 
61
61
  == Releases
62
+ * <b>1.0.1</b> sw_title_display keeps appropriate trailing punct more or less per spec in solrmarc-sw sw_index.properties
62
63
  * <b>1.0.0</b> sw_full_title now includes partName and partNumber; sw_title_display created to be like sw_full_title but without trailing punctuation; sw format for typeOfResource sound recording; genre value is librettos, plural; sw format algorithm accommodates first letter upcase; genre value report does NOT map to a format, genre value 'project report' with ToR text is 'Book'
63
64
  * <b>0.0.27</b> add genres 'Issue brief', 'Book chapter' and 'Working paper' to map to searchworks format 'Book'
64
65
  * <b>0.0.26</b> map typeOfResource 'sound recording-musical' to searchworks format 'Music - Recording' with spaces
@@ -151,17 +151,24 @@ module Stanford
151
151
 
152
152
  result = parts ? preParts + ". " + parts : preParts
153
153
  result += "." if !result.match(/[[:punct:]]$/)
154
+ result.strip!
154
155
  result = nil if result.empty?
155
156
  result
156
157
  else
157
158
  nil
158
159
  end
159
160
  end
160
-
161
+
162
+ # like sw_full_title without trailing \,/;:.
163
+ # spec from solrmarc-sw sw_index.properties
164
+ # title_display = custom, removeTrailingPunct(245abdefghijklmnopqrstuvwxyz, [\\\\,/;:], ([A-Za-z]{4}|[0-9]{3}|\\)|\\,))
161
165
  # @return [String] value for title_display (like title_full_display without trailing punctuation)
162
166
  def sw_title_display
163
167
  result = sw_full_title ? sw_full_title : nil
164
- result.sub!(/[[:punct:]]$/, '') if result
168
+ if result
169
+ result.sub!(/[\.,;:\/\\]+$/, '')
170
+ result.strip!
171
+ end
165
172
  result
166
173
  end
167
174
 
@@ -1,6 +1,6 @@
1
1
  module Stanford
2
2
  module Mods
3
3
  # this is the Ruby Gem version
4
- VERSION = "1.0.0"
4
+ VERSION = "1.0.1"
5
5
  end
6
6
  end
@@ -1,7 +1,7 @@
1
1
  # encoding: UTF-8
2
2
  require 'spec_helper'
3
3
 
4
- describe "Date methods in Searchworks mixin for Stanford::Mods::Record" do
4
+ describe "Date methods (searchworks.rb)" do
5
5
 
6
6
  before(:all) do
7
7
  @smods_rec = Stanford::Mods::Record.new
@@ -1,7 +1,7 @@
1
1
  # encoding: UTF-8
2
2
  require 'spec_helper'
3
3
 
4
- describe "Searchworks Subject fields from Searchworks mixin for Stanford::Mods::Record" do
4
+ describe "Subject fields (searchworks.rb)" do
5
5
 
6
6
  before(:all) do
7
7
  @smods_rec = Stanford::Mods::Record.new
@@ -1,7 +1,7 @@
1
1
  # encoding: UTF-8
2
2
  require 'spec_helper'
3
3
 
4
- describe "title fields from Searchworks mixin for Stanford::Mods::Record" do
4
+ describe "title fields (searchworks.rb)" do
5
5
  before(:all) do
6
6
  @smods_rec = Stanford::Mods::Record.new
7
7
  @ns_decl = "xmlns='#{Mods::MODS_NS}'"
@@ -246,6 +246,64 @@ describe "title fields from Searchworks mixin for Stanford::Mods::Record" do
246
246
  end # sw_full_title
247
247
 
248
248
  context "sw_title_display removes end punctuation of sw_full_title_display" do
249
+
250
+ # title_display = custom, removeTrailingPunct(245abdefghijklmnopqrstuvwxyz, [\\\\,/;:], ([A-Za-z]{4}|[0-9]{3}|\\)|\\,))
251
+ context "should remove trailing \,/;:." do
252
+ it "retains other trailing chars" do
253
+ m = "<mods #{@ns_decl}><titleInfo>
254
+ <title>The Jerk?</title>
255
+ </titleInfo></mods>"
256
+ @smods_rec.from_str(m)
257
+ expect(@smods_rec.sw_title_display).to eq 'The Jerk?'
258
+ m = "<mods #{@ns_decl}><titleInfo>
259
+ <title>The Jerk!</title>
260
+ </titleInfo></mods>"
261
+ @smods_rec.from_str(m)
262
+ expect(@smods_rec.sw_title_display).to eq 'The Jerk!'
263
+ end
264
+ it "removes trailing comma" do
265
+ m = "<mods #{@ns_decl}><titleInfo>
266
+ <title>The Jerk,</title>
267
+ </titleInfo></mods>"
268
+ @smods_rec.from_str(m)
269
+ expect(@smods_rec.sw_title_display).to eq 'The Jerk'
270
+ end
271
+ it "removes trailing semicolon" do
272
+ m = "<mods #{@ns_decl}><titleInfo>
273
+ <title>The Jerk;</title>
274
+ </titleInfo></mods>"
275
+ @smods_rec.from_str(m)
276
+ expect(@smods_rec.sw_title_display).to eq 'The Jerk'
277
+ end
278
+ it "removes trailing colon" do
279
+ m = "<mods #{@ns_decl}><titleInfo>
280
+ <title>The Jerk:</title>
281
+ </titleInfo></mods>"
282
+ @smods_rec.from_str(m)
283
+ expect(@smods_rec.sw_title_display).to eq 'The Jerk'
284
+ end
285
+ it "removes trailing slash" do
286
+ m = "<mods #{@ns_decl}><titleInfo>
287
+ <title>The Jerk /</title>
288
+ </titleInfo></mods>"
289
+ @smods_rec.from_str(m)
290
+ expect(@smods_rec.sw_title_display).to eq 'The Jerk'
291
+ end
292
+ it "removes trailing backslash" do
293
+ m = "<mods #{@ns_decl}><titleInfo>
294
+ <title>The Jerk \</title>
295
+ </titleInfo></mods>"
296
+ @smods_rec.from_str(m)
297
+ expect(@smods_rec.sw_title_display).to eq 'The Jerk'
298
+ end
299
+ it "removes multiple trailing punctuation" do
300
+ m = "<mods #{@ns_decl}><titleInfo>
301
+ <title>The Jerk.,\</title>
302
+ </titleInfo></mods>"
303
+ @smods_rec.from_str(m)
304
+ expect(@smods_rec.sw_title_display).to eq 'The Jerk'
305
+ end
306
+ end
249
307
  context "no subtitle" do
250
308
  it "end title with a period" do
251
309
  m = "<mods #{@ns_decl}>
@@ -272,7 +330,7 @@ describe "title fields from Searchworks mixin for Stanford::Mods::Record" do
272
330
  <title>Olympics!</title>
273
331
  </titleInfo></mods>"
274
332
  @smods_rec.from_str(m)
275
- expect(@smods_rec.sw_title_display).to eq 'The Olympics'
333
+ expect(@smods_rec.sw_title_display).to eq 'The Olympics!'
276
334
  end
277
335
  end # no subtitle
278
336
  context "subtitle" do
@@ -315,7 +373,7 @@ describe "title fields from Searchworks mixin for Stanford::Mods::Record" do
315
373
  <subTitle>a history?</subTitle>
316
374
  </titleInfo></mods>"
317
375
  @smods_rec.from_str(m)
318
- expect(@smods_rec.sw_title_display).to eq 'The Olympics : a history'
376
+ expect(@smods_rec.sw_title_display).to eq 'The Olympics : a history?'
319
377
  end
320
378
  end # subtitle
321
379
  context "partName" do
@@ -446,14 +504,14 @@ describe "title fields from Searchworks mixin for Stanford::Mods::Record" do
446
504
  <partNumber>Part 1!</partNumber>
447
505
  </titleInfo></mods>"
448
506
  @smods_rec.from_str(m)
449
- expect(@smods_rec.sw_title_display).to eq 'The Olympics : a history. Part 1'
507
+ expect(@smods_rec.sw_title_display).to eq 'The Olympics : a history. Part 1!'
450
508
  m = "<mods #{@ns_decl}>
451
509
  <titleInfo>
452
510
  <title>cfb</title>
453
511
  <partNumber>1894?</partNumber>
454
512
  </titleInfo></mods>"
455
513
  @smods_rec.from_str(m)
456
- expect(@smods_rec.sw_title_display).to eq 'cfb. 1894'
514
+ expect(@smods_rec.sw_title_display).to eq 'cfb. 1894?'
457
515
  end
458
516
  end # no partName but partNumber
459
517
  end # sw_title_display
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: 1.0.0
4
+ version: 1.0.1
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: 2014-06-26 00:00:00.000000000 Z
12
+ date: 2014-06-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: mods