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 +4 -4
- data/.env.test +3 -3
- data/lib/ebsco/eds/record.rb +29 -21
- data/lib/ebsco/eds/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 81a61b693843d786e5274cf56b1799c439f07586
|
4
|
+
data.tar.gz: cd7e51b21d87a8d7dac6c1dd1d306d81b5105316
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0078e01f8ca86d2d84f8720a4f70ff983e4c02f8e929f29f76b8214e7bb08d3d4feb13a557ef32bb864b621e19212a0e00bddb1f754f839ddb737bb220dcf289
|
7
|
+
data.tar.gz: 3ecbc29fd10cf728fcad1ea885b65fef5cd14d4003b0f8797d76e00b76944e91a153e3d34df4d8dcf7b0929f54487fb3e85da859d8c8f7e535665da56c640ed8
|
data/.env.test
CHANGED
data/lib/ebsco/eds/record.rb
CHANGED
@@ -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
|
-
|
534
|
-
if _item_property.nil?
|
533
|
+
if @items.empty?
|
535
534
|
nil
|
536
535
|
else
|
537
|
-
_item_property['
|
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
|
-
|
544
|
-
if _item_property.nil?
|
547
|
+
if @items.empty?
|
545
548
|
nil
|
546
549
|
else
|
547
|
-
_item_property['
|
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
|
data/lib/ebsco/eds/version.rb
CHANGED