stanford-mods 1.5.3 → 1.5.4

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
  SHA1:
3
- metadata.gz: 80b7166744ed54bca31cdcbfa1f400d5e05e3e24
4
- data.tar.gz: 41439aae07f4ab0d35913284f6c5d3ca3db85f1a
3
+ metadata.gz: 69a9ca8048029f26ee81d1ecedcfce609472a4fd
4
+ data.tar.gz: 94bebebe8d0ae3eab18dd309279af83a1e4d700e
5
5
  SHA512:
6
- metadata.gz: 6640e0395f1a500507ea4be9daccb561c85a6f0f02eff01a0e32260efe424cc4bb97a6ece0968a55d0bfbfdad8b45bac0e6ea6362edc6df6d242f32ee2829db2
7
- data.tar.gz: bf70600680517f261d291d5e377838b6d5b2aad36288bdc238e2b87e9bfbc2d2cf1c70b0c7aa3727f9655d0513cdf30d8290ece7f7e546de43955737777bc7f3
6
+ metadata.gz: 3c30ff296e9e66ebeac2be5d0924536516ae2b1d2939122c5ebf786f1347dd8072ff7a9ddab3a8211bec38d17731d7d032a7f6073c18a3da2f348fceaf6cfba6
7
+ data.tar.gz: 12c8c7f6af8e26172a041aaeb68c421c0a165477d9a8365088bc0af8453380e3e996e43b4de3647439603afc917769ab831ebd9c33649854bc71b2abf239e306
@@ -276,6 +276,8 @@ module Stanford
276
276
 
277
277
  # select one or more format values from the controlled vocabulary per JVine Summer 2014
278
278
  # http://searchworks-solr-lb.stanford.edu:8983/solr/select?facet.field=format_main_ssim&rows=0&facet.sort=index
279
+ # https://github.com/sul-dlss/stanford-mods/issues/66 - For geodata, the
280
+ # resource type should be only Map and not include Software, multimedia.
279
281
  # @return <Array[String]> value in the SearchWorks controlled vocabulary
280
282
  def format_main
281
283
  val = []
@@ -300,6 +302,7 @@ module Stanford
300
302
  case type
301
303
  when 'cartographic'
302
304
  val << 'Map'
305
+ val.delete 'Software/Multimedia'
303
306
  when 'mixed material'
304
307
  val << 'Archive/Manuscript'
305
308
  when 'moving image'
@@ -309,7 +312,7 @@ module Stanford
309
312
  when 'software, multimedia'
310
313
  if genres && (genres.include?('dataset') || genres.include?('Dataset'))
311
314
  val << 'Dataset'
312
- else
315
+ elsif (!val.include?('Map'))
313
316
  val << 'Software/Multimedia'
314
317
  end
315
318
  when 'sound recording-musical'
@@ -333,30 +336,28 @@ module Stanford
333
336
  end
334
337
 
335
338
  # return values for the genre facet in SearchWorks
339
+ # https://github.com/sul-dlss/stanford-mods/issues/66
340
+ # Limit genre values to Government document, Conference proceedings,
341
+ # Technical report and Thesis/Dissertation
336
342
  # @return <Array[String]>
337
343
  def sw_genre
338
344
  val = []
339
345
  genres = self.term_values(:genre)
340
346
  types = self.term_values(:typeOfResource)
341
347
  if genres
342
- val << genres.map(&:capitalize)
343
- val.flatten! if !val.empty?
344
348
  if genres.include?('thesis') || genres.include?('Thesis')
345
349
  val << 'Thesis/Dissertation'
346
- val.delete 'Thesis'
347
350
  end
348
351
  conf_pub = ['conference publication', 'Conference publication', 'Conference Publication']
349
352
  if !(genres & conf_pub).empty?
350
353
  if types && types.include?('text')
351
354
  val << 'Conference proceedings'
352
- val.delete 'Conference publication'
353
355
  end
354
356
  end
355
357
  gov_pub = ['government publication', 'Government publication', 'Government Publication']
356
358
  if !(genres & gov_pub).empty?
357
359
  if types && types.include?('text')
358
360
  val << 'Government document'
359
- val.delete 'Government publication'
360
361
  end
361
362
  end
362
363
  tech_rpt = ['technical report', 'Technical report', 'Technical Report']
@@ -366,10 +367,6 @@ module Stanford
366
367
  end
367
368
  end
368
369
  end
369
- # Archived website is in the MODS genre tag but it is considered a
370
- # Resource type for Searchworks, so it needs to be removed from the
371
- # applicable genre values
372
- val.delete 'Archived website'
373
370
  val.uniq
374
371
  end
375
372
 
@@ -1,6 +1,6 @@
1
1
  module Stanford
2
2
  module Mods
3
3
  # this is the Ruby Gem version
4
- VERSION = "1.5.3"
4
+ VERSION = "1.5.4"
5
5
  end
6
6
  end
@@ -739,8 +739,7 @@ SEARCHWORKS_PUB_DATE_DATA = {
739
739
  # project_south
740
740
  # reaction_kinetics?
741
741
  # reliability
742
- # renaissance
743
- 'xxx' =>
742
+ 'renaissance' =>
744
743
  { # key is mods_xml; values = [pub date sortable facet value, pub date single string facet value]
745
744
  # coll rec sr605np6062 no originInfo
746
745
  # mj187xt5183
@@ -808,18 +807,18 @@ SEARCHWORKS_PUB_DATE_DATA = {
808
807
  # rigler
809
808
  # rumsey
810
809
  'rumsey' =>
811
- { # key is mods_xml; values = [pub date sortable facet value, pub date single string facet value]
812
- # coll rec xh235dd9059 no originInfo
813
- # fy259fg4220
814
- mods_origin_info_start_str +
815
- '<dateIssued>1855.</dateIssued>' +
816
- mods_origin_info_end_str => [1855, '1855'],
817
- # hp058zk7170
818
- mods_origin_info_start_str +
819
- '<dateCreated encoding="marc">1861</dateCreated>' +
820
- '<dateIssued>1861.</dateIssued>' +
821
- mods_origin_info_end_str => [1861, '1861'],
822
- },
810
+ { # key is mods_xml; values = [pub date sortable facet value, pub date single string facet value]
811
+ # coll rec xh235dd9059 no originInfo
812
+ # fy259fg4220
813
+ mods_origin_info_start_str +
814
+ '<dateIssued>1855.</dateIssued>' +
815
+ mods_origin_info_end_str => [1855, '1855'],
816
+ # hp058zk7170
817
+ mods_origin_info_start_str +
818
+ '<dateCreated encoding="marc">1861</dateCreated>' +
819
+ '<dateIssued>1861.</dateIssued>' +
820
+ mods_origin_info_end_str => [1861, '1861']
821
+ },
823
822
  # rock?
824
823
  # scrf
825
824
  # shale
@@ -493,6 +493,13 @@ describe "Format fields (searchworks.rb)" do
493
493
  @smods_rec.from_str(m)
494
494
  expect(@smods_rec.format_main).to eq ['Software/Multimedia']
495
495
  end
496
+ # https://github.com/sul-dlss/stanford-mods/issues/66 - For geodata, the
497
+ # resource type should be only Map and not include Software, multimedia.
498
+ it "typeOfResource 'cartographic' and 'software, multimedia'" do
499
+ m = "<mods #{@ns_decl}><typeOfResource>cartographic</typeOfResource><typeOfResource>software, multimedia</typeOfResource></mods>"
500
+ @smods_rec.from_str(m)
501
+ expect(@smods_rec.format_main).to eq ['Map']
502
+ end
496
503
  end
497
504
 
498
505
  context "Sound Recording:" do
@@ -575,6 +582,11 @@ describe "Format fields (searchworks.rb)" do
575
582
  end #format_main
576
583
 
577
584
  context "sw_genre" do
585
+ it "ignores values that are not in the prescribed list" do
586
+ m = "<mods #{@ns_decl}><genre authority=\"marcgt\">Not on the list</genre><typeOfResource>text</typeOfResource></mods>"
587
+ @smods_rec.from_str(m)
588
+ expect(@smods_rec.sw_genre).to eq []
589
+ end
578
590
  it "Conference proceedings: typeOfResource 'text', genre 'conference publication'" do
579
591
  m = "<mods #{@ns_decl}><genre authority=\"marcgt\">conference publication</genre><typeOfResource>text</typeOfResource></mods>"
580
592
  @smods_rec.from_str(m)
@@ -628,37 +640,36 @@ describe "Format fields (searchworks.rb)" do
628
640
  expect(@smods_rec.sw_genre).to_not eq ['Archived website']
629
641
  end
630
642
  it "capitalizes the first letter of a genre value" do
631
- m = "<mods #{@ns_decl}><genre authority=\"marcgt\">student project report</genre></mods>"
632
- @smods_rec.from_str(m)
633
- expect(@smods_rec.sw_genre).to eq ['Student project report']
634
- m = "<mods #{@ns_decl}><genre authority=\"marcgt\">Student project report</genre></mods>"
643
+ m = "<mods #{@ns_decl}><typeOfResource>text</typeOfResource><genre authority=\"marcgt\">technical report</genre></mods>"
635
644
  @smods_rec.from_str(m)
636
- expect(@smods_rec.sw_genre).to eq ['Student project report']
637
- m = "<mods #{@ns_decl}><genre authority=\"marcgt\">Student Project report</genre></mods>"
645
+ expect(@smods_rec.sw_genre).to eq ['Technical report']
646
+ m = "<mods #{@ns_decl}><typeOfResource>text</typeOfResource><genre authority=\"marcgt\">Technical report</genre></mods>"
638
647
  @smods_rec.from_str(m)
639
- expect(@smods_rec.sw_genre).to eq ['Student project report']
640
- m = "<mods #{@ns_decl}><genre authority=\"marcgt\">Student Project Report</genre></mods>"
648
+ expect(@smods_rec.sw_genre).to eq ['Technical report']
649
+ m = "<mods #{@ns_decl}><typeOfResource>text</typeOfResource><genre authority=\"marcgt\">Technical Report</genre></mods>"
641
650
  @smods_rec.from_str(m)
642
- expect(@smods_rec.sw_genre).to eq ['Student project report']
651
+ expect(@smods_rec.sw_genre).to eq ['Technical report']
643
652
  end
644
653
  # NOTE: may need to remove plurals and/or trailing punctuation in future
645
654
  it "returns all genre values" do
646
655
  m = "<mods #{@ns_decl}>
647
- <genre>game</genre>
648
- <genre>foo</genre>
649
- <genre>technical report</genre>
656
+ <typeOfResource>text</typeOfResource>
657
+ <genre>government publication</genre>
658
+ <genre>conference publication</genre>
659
+ <genre>thesis</genre>
650
660
  </mods>"
651
661
  @smods_rec.from_str(m)
652
- expect(@smods_rec.sw_genre).to eq ['Game', 'Foo', 'Technical report']
662
+ expect(@smods_rec.sw_genre).to eq ['Thesis/Dissertation', 'Conference proceedings', 'Government document']
653
663
  end
654
664
  it "doesn't have duplicates" do
655
665
  m = "<mods #{@ns_decl}>
656
- <genre>game</genre>
666
+ <typeOfResource>text</typeOfResource>
667
+ <genre>conference publication</genre>
657
668
  <genre>technical report</genre>
658
- <genre>Game</genre>
669
+ <genre>Conference publication</genre>
659
670
  </mods>"
660
671
  @smods_rec.from_str(m)
661
- expect(@smods_rec.sw_genre).to eq ['Game', 'Technical report']
672
+ expect(@smods_rec.sw_genre).to eq ['Conference proceedings', 'Technical report']
662
673
  end
663
674
  it "empty Array if no genre values" do
664
675
  m = "<mods #{@ns_decl}>
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.5.3
4
+ version: 1.5.4
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: 2016-02-05 00:00:00.000000000 Z
12
+ date: 2016-02-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: mods
@@ -167,7 +167,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
167
167
  version: '0'
168
168
  requirements: []
169
169
  rubyforge_project:
170
- rubygems_version: 2.4.5.1
170
+ rubygems_version: 2.4.8
171
171
  signing_key:
172
172
  specification_version: 4
173
173
  summary: Stanford specific wrangling of MODS metadata