ebsco-eds 0.0.3.pre → 0.0.4.pre

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: 93c8529d7f55e30b625581f9074b9d27ff617cec
4
- data.tar.gz: aa1aadfb6d45692fe10f1078de4be8dbd8869077
3
+ metadata.gz: 81a61b693843d786e5274cf56b1799c439f07586
4
+ data.tar.gz: cd7e51b21d87a8d7dac6c1dd1d306d81b5105316
5
5
  SHA512:
6
- metadata.gz: 8943fd15a565759b35c94e7fb1e16a98c3738096ab7bfa536513ffa43fb7ddb862010d08b5202466585b920d7c07def39c115f25f7b4431353809d14fc1af11f
7
- data.tar.gz: ba2907cf2de2004c6a026f568395144aff62f83b6fe166d76efcd9cb0c680eac0efee8bc84f96b79172c63d517639a1396c53b227361fc31f444fab30ff94bd4
6
+ metadata.gz: 0078e01f8ca86d2d84f8720a4f70ff983e4c02f8e929f29f76b8214e7bb08d3d4feb13a557ef32bb864b621e19212a0e00bddb1f754f839ddb737bb220dcf289
7
+ data.tar.gz: 3ecbc29fd10cf728fcad1ea885b65fef5cd14d4003b0f8797d76e00b76944e91a153e3d34df4d8dcf7b0929f54487fb3e85da859d8c8f7e535665da56c640ed8
data/.env.test CHANGED
@@ -1,6 +1,6 @@
1
- EDS_PROFILE=edsapi
2
- EDS_USER=user
3
- EDS_PASS=secret
1
+ EDS_PROFILE=eds-api
2
+ EDS_USER=billmckinn
3
+ EDS_PASS=4n~r1me86y
4
4
  EDS_AUTH=user
5
5
  EDS_GUEST=n
6
6
  EDS_ORG=none
@@ -530,21 +530,29 @@ module EBSCO
530
530
 
531
531
  # look up by 'Name' and return 'Data'
532
532
  def get_item_data_by_name(name)
533
- _item_property = @items.find{|item| item['Name'] == name}
534
- if _item_property.nil?
533
+ if @items.empty?
535
534
  nil
536
535
  else
537
- _item_property['Data']
536
+ _item_property = @items.find{|item| item['Name'] == name}
537
+ if _item_property.nil?
538
+ nil
539
+ else
540
+ _item_property['Data']
541
+ end
538
542
  end
539
543
  end
540
544
 
541
545
  # look up by 'Label' and return 'Data'
542
546
  def get_item_data_by_label(label)
543
- _item_property = @items.find{|item| item['Label'] == label}
544
- if _item_property.nil?
547
+ if @items.empty?
545
548
  nil
546
549
  else
547
- _item_property['Data']
550
+ _item_property = @items.find{|item| item['Label'] == label}
551
+ if _item_property.nil?
552
+ nil
553
+ else
554
+ _item_property['Data']
555
+ end
548
556
  end
549
557
  end
550
558
 
@@ -557,7 +565,7 @@ module EBSCO
557
565
  # ====================================================================================
558
566
 
559
567
  def bib_title
560
- if @bib_entity
568
+ if @bib_entity && @bib_entity.fetch('Titles', {}).any?
561
569
  @bib_entity.fetch('Titles', {}).find{|item| item['Type'] == 'main'}['TitleFull']
562
570
  else
563
571
  nil
@@ -589,7 +597,7 @@ module EBSCO
589
597
  end
590
598
 
591
599
  def bib_languages
592
- if @bib_entity
600
+ if @bib_entity && @bib_entity.fetch('Languages', {}).any?
593
601
  @bib_entity.fetch('Languages', {}).map{|lang| lang['Text']}
594
602
  else
595
603
  nil
@@ -617,7 +625,7 @@ module EBSCO
617
625
  end
618
626
 
619
627
  def bib_doi
620
- if @bib_entity
628
+ if @bib_entity && @bib_entity.fetch('Identifiers',{}).any?
621
629
  @bib_entity.fetch('Identifiers',{}).find{|item| item['Type'] == 'doi'}['Value']
622
630
  else
623
631
  nil
@@ -629,7 +637,7 @@ module EBSCO
629
637
  # ====================================================================================
630
638
 
631
639
  def bib_source_title
632
- if @bib_part
640
+ if @bib_part && @bib_part.fetch('BibEntity',{}).fetch('Titles',{}).any?
633
641
  @bib_part.fetch('BibEntity',{}).fetch('Titles',{}).find{|item| item['Type'] == 'main'}['TitleFull']
634
642
  else
635
643
  nil
@@ -637,7 +645,7 @@ module EBSCO
637
645
  end
638
646
 
639
647
  def bib_issn_print
640
- if @bib_part
648
+ if @bib_part && @bib_part.fetch('BibEntity',{}).fetch('Identifiers',{}).any?
641
649
  @bib_part.fetch('BibEntity',{}).fetch('Identifiers',{}).find{|item| item['Type'] == 'issn-print'}['Value']
642
650
  else
643
651
  nil
@@ -645,7 +653,7 @@ module EBSCO
645
653
  end
646
654
 
647
655
  def bib_issn_electronic
648
- if @bib_part
656
+ if @bib_part && @bib_part.fetch('BibEntity',{}).fetch('Identifiers',{}).any?
649
657
  @bib_part.fetch('BibEntity',{}).fetch('Identifiers',{}).find{|item| item['Type'] == 'issn-electronic'}['Value']
650
658
  else
651
659
  nil
@@ -654,7 +662,7 @@ module EBSCO
654
662
 
655
663
  def bib_issns
656
664
  issns = []
657
- if @bib_part
665
+ if @bib_part && @bib_part.fetch('BibEntity',{}).fetch('Identifiers',{}).any?
658
666
  @bib_part.fetch('BibEntity',{}).fetch('Identifiers',{}).each do |id|
659
667
  if id['Type'].include?('issn') && !id['Type'].include?('locals')
660
668
  issns.push(id['Value'])
@@ -665,7 +673,7 @@ module EBSCO
665
673
  end
666
674
 
667
675
  def bib_isbn_print
668
- if @bib_part
676
+ if @bib_part && @bib_part.fetch('BibEntity',{}).fetch('Identifiers',{}).any?
669
677
  @bib_part.fetch('BibEntity',{}).fetch('Identifiers',{}).find{|item| item['Type'] == 'isbn-print'}['Value']
670
678
  else
671
679
  nil
@@ -673,7 +681,7 @@ module EBSCO
673
681
  end
674
682
 
675
683
  def bib_isbn_electronic
676
- if @bib_part
684
+ if @bib_part && @bib_part.fetch('BibEntity',{}).fetch('Identifiers',{}).any?
677
685
  @bib_part.fetch('BibEntity',{}).fetch('Identifiers',{}).find{|item| item['Type'] == 'isbn-electronic'}['Value']
678
686
  else
679
687
  nil
@@ -683,7 +691,7 @@ module EBSCO
683
691
  # todo: make this generic and take an optional parameter for type
684
692
  def bib_isbns
685
693
  isbns = []
686
- if @bib_part
694
+ if @bib_part && @bib_part.fetch('BibEntity',{}).fetch('Identifiers',{}).any?
687
695
  @bib_part.fetch('BibEntity',{}).fetch('Identifiers',{}).each do |id|
688
696
  if id['Type'].include?('isbn') && !id['Type'].include?('locals')
689
697
  isbns.push(id['Value'])
@@ -694,7 +702,7 @@ module EBSCO
694
702
  end
695
703
 
696
704
  def bib_publication_date
697
- if @bib_part
705
+ if @bib_part && @bib_part.fetch('BibEntity',{}).fetch('Dates',{}).any?
698
706
  _date = @bib_part.fetch('BibEntity',{}).fetch('Dates',{}).find{|item| item['Type'] == 'published'}
699
707
  if _date
700
708
  if _date.has_key?('Y') && _date.has_key?('M') && _date.has_key?('D')
@@ -711,7 +719,7 @@ module EBSCO
711
719
  end
712
720
 
713
721
  def bib_publication_year
714
- if @bib_part
722
+ if @bib_part && @bib_part.fetch('BibEntity',{}).fetch('Dates',{}).any?
715
723
  _date = @bib_part.fetch('BibEntity',{}).fetch('Dates',{}).find{|item| item['Type'] == 'published'}
716
724
  if _date
717
725
  _date.has_key?('Y') ? _date['Y'] : nil
@@ -724,7 +732,7 @@ module EBSCO
724
732
  end
725
733
 
726
734
  def bib_publication_month
727
- if @bib_part
735
+ if @bib_part && @bib_part.fetch('BibEntity',{}).fetch('Dates',{}).any?
728
736
  _date = @bib_part.fetch('BibEntity',{}).fetch('Dates',{}).find{|item| item['Type'] == 'published'}
729
737
  if _date
730
738
  _date.has_key?('M') ? _date['M'] : nil
@@ -737,7 +745,7 @@ module EBSCO
737
745
  end
738
746
 
739
747
  def bib_volume
740
- if @bib_part
748
+ if @bib_part && @bib_part.fetch('BibEntity',{}).fetch('Numbering',{}).any?
741
749
  @bib_part.fetch('BibEntity',{}).fetch('Numbering',{}).find{|item| item['Type'] == 'volume'}['Value']
742
750
  else
743
751
  nil
@@ -745,7 +753,7 @@ module EBSCO
745
753
  end
746
754
 
747
755
  def bib_issue
748
- if @bib_part
756
+ if @bib_part && @bib_part.fetch('BibEntity',{}).fetch('Numbering',{}).any?
749
757
  @bib_part.fetch('BibEntity',{}).fetch('Numbering',{}).find{|item| item['Type'] == 'issue'}['Value']
750
758
  else
751
759
  nil
@@ -1,5 +1,5 @@
1
1
  module EBSCO
2
2
  module EDS
3
- VERSION = '0.0.3.pre'
3
+ VERSION = '0.0.4.pre'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ebsco-eds
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3.pre
4
+ version: 0.0.4.pre
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bill McKinney