module ADIWG::Mdtranslator::Readers::MdJson::Citation
Public Class Methods
unpack(hCitation, responseObj, inContext = nil)
click to toggle source
# File lib/adiwg/mdtranslator/readers/mdJson/modules/module_citation.rb, line 32 def self.unpack(hCitation, responseObj, inContext = nil) @MessagePath = ADIWG::Mdtranslator::Readers::MdJson::MdJson # return nil object if input is empty if hCitation.empty? @MessagePath.issueWarning(80, responseObj, inContext) return nil end # instance classes needed in script intMetadataClass = InternalMetadata.new intCitation = intMetadataClass.newCitation outContext = 'citation' outContext = inContext + ' > ' + outContext unless inContext.nil? # citation - title (required) if hCitation.has_key?('title') intCitation[:title] = hCitation['title'] end if intCitation[:title].nil? || intCitation[:title] == '' @MessagePath.issueError(81, responseObj, inContext) end # citation - alternate title [] if hCitation.has_key?('alternateTitle') hCitation['alternateTitle'].each do |item| unless item == '' intCitation[:alternateTitles] << item end end end # citation - date [] if hCitation.has_key?('date') aItems = hCitation['date'] aItems.each do |item| hReturn = Date.unpack(item, responseObj) unless hReturn.nil? intCitation[:dates] << hReturn end end end # citation - edition if hCitation.has_key?('edition') unless hCitation['edition'] == '' intCitation[:edition] = hCitation['edition'] end end # citation - responsible party [] if hCitation.has_key?('responsibleParty') aItems = hCitation['responsibleParty'] aItems.each do |item| hReturn = ResponsibleParty.unpack(item, responseObj) unless hReturn.nil? intCitation[:responsibleParties] << hReturn end end end # citation - presentation form [] if hCitation.has_key?('presentationForm') hCitation['presentationForm'].each do |item| unless item == '' intCitation[:presentationForms] << item end end end # citation - identifier [] if hCitation.has_key?('identifier') aItems = hCitation['identifier'] aItems.each do |item| hReturn = Identifier.unpack(item, responseObj) unless hReturn.nil? intCitation[:identifiers] << hReturn end end end # citation - series if hCitation.has_key?('series') hObject = hCitation['series'] unless hObject.empty? hReturn = Series.unpack(hObject, responseObj, outContext) unless hReturn.nil? intCitation[:series] = hReturn end end end # citation - other details if hCitation.has_key?('otherCitationDetails') hCitation['otherCitationDetails'].each do |item| unless item == '' intCitation[:otherDetails] << item end end end # citation - online resource [] if hCitation.has_key?('onlineResource') aItems = hCitation['onlineResource'] aItems.each do |item| hReturn = OnlineResource.unpack(item, responseObj) unless hReturn.nil? intCitation[:onlineResources] << hReturn end end end # citation - graphic [] if hCitation.has_key?('graphic') aItems = hCitation['graphic'] aItems.each do |item| hReturn = Graphic.unpack(item, responseObj, outContext) unless hReturn.nil? intCitation[:browseGraphics] << hReturn end end end return intCitation end