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