ebsco-eds 0.0.3.pre → 0.0.4.pre

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