class Sovren::Publication
Attributes
abstract[RW]
comments[RW]
conference_date[RW]
conference_location[RW]
copyright_date[RW]
copyright_text[RW]
edition[RW]
event_name[RW]
isbn[RW]
issue[RW]
journal_or_serial_name[RW]
number_of_pages[RW]
page_number[RW]
publication_date[RW]
publisher_location[RW]
publisher_name[RW]
role[RW]
title[RW]
type[RW]
volume[RW]
Public Class Methods
parse(publications)
click to toggle source
# File lib/sovren/publication.rb, line 5 def self.parse(publications) return Array.new if publications.nil? result = publications.css('Article,Book,ConferencePaper,OtherPublication').collect do |item| c = Publication.new c.type = item.name == "OtherPublication" ? item['type'] : item.name c.title = item.css('Title').text c.role = item.css('Name').first['role'] rescue nil c.publication_date = item.css('PublicationDate').css('YearMonth,Year').first.text rescue nil c.journal_or_serial_name = item.css('JournalOrSerialName').text c.volume = item.css('Volume').text c.issue = item.css('Issue').text c.page_number = item.css('PageNumber').text c.abstract = item.css('Abstract').text c.copyright_date = item.css('Copyright CopyrightDates OriginalDate Year, Copyright CopyrightDates OriginalDate YearMonth').first.text rescue nil c.copyright_text = item.css('Copyright CopyrightText').first.text rescue nil c.edition = item.css('Edition').text c.isbn = item.css('ISBN').text c.publisher_name = item.css('PublisherName').text c.publisher_location = item.css('PublisherLocation').text c.event_name = item.css('EventName').text c.conference_date = Date.parse(item.css('ConferenceDate AnyDate').text) rescue nil c.conference_location = item.css('ConferenceLocation').text c.comments = item.css('Comments').text c.number_of_pages = item.css('NumberOfPages').text.to_i rescue nil c end result end