class Puree::XMLExtractor::JournalArticle
Journal
article XML extractor.
Public Class Methods
new(xml)
click to toggle source
Calls superclass method
Puree::XMLExtractor::ResearchOutput::new
# File lib/puree/xml_extractor/journal_article.rb, line 11 def initialize(xml) super setup_model :journal_article end
Public Instance Methods
issue()
click to toggle source
@return [Integer, nil]
# File lib/puree/xml_extractor/journal_article.rb, line 17 def issue xpath_result = xpath_query_for_single_value('/journalNumber') xpath_result ? xpath_result.to_i : nil end
journal()
click to toggle source
@return [Puree::Model::JournalHeader, nil]
# File lib/puree/xml_extractor/journal_article.rb, line 23 def journal xpath_result = xpath_query '/journalAssociation' if !xpath_result.empty? header = Puree::Model::JournalHeader.new header.title = xpath_result.xpath('title').text.strip journal = xpath_result.xpath('journal') xpath_result_type = journal.xpath('type/term/text') header.type = xpath_result_type.first.text.strip unless xpath_result_type.empty? header.uuid = journal.attr('uuid').text.strip header end end
volume()
click to toggle source
@return [Integer, nil]
# File lib/puree/xml_extractor/journal_article.rb, line 37 def volume xpath_result = xpath_query_for_single_value('/volume') xpath_result ? xpath_result.to_i : nil end
Private Instance Methods
combine_metadata()
click to toggle source
Calls superclass method
Puree::XMLExtractor::ResearchOutput#combine_metadata
# File lib/puree/xml_extractor/journal_article.rb, line 49 def combine_metadata super @model.issue = issue @model.journal = journal @model.pages = pages @model.page_range = page_range @model.peer_reviewed = peer_reviewed @model.volume = volume @model end
xpath_root()
click to toggle source
# File lib/puree/xml_extractor/journal_article.rb, line 45 def xpath_root '/contributionToJournal' end