module ADIWG::Mdtranslator::Readers::MdJson::AdditionalDocumentation

Public Class Methods

unpack(hAddDoc, responseObj) click to toggle source
# File lib/adiwg/mdtranslator/readers/mdJson/modules/module_additionalDocumentation.rb, line 24
def self.unpack(hAddDoc, responseObj)

   @MessagePath = ADIWG::Mdtranslator::Readers::MdJson::MdJson

   # return nil object if input is empty
   if hAddDoc.empty?
      @MessagePath.issueWarning(1, responseObj)
      return nil
   end

   # instance classes needed in script
   intMetadataClass = InternalMetadata.new
   intAddDoc = intMetadataClass.newAdditionalDocumentation

   # additional documentation - resource type [] (required) {resourceType}
   if hAddDoc.has_key?('resourceType')
      hAddDoc['resourceType'].each do |item|
         unless item.empty?
            hReturn = ResourceType.unpack(item, responseObj)
            unless hReturn.nil?
               intAddDoc[:resourceTypes] << hReturn
            end
         end
      end
   end
   if intAddDoc[:resourceTypes].empty?
      @MessagePath.issueError(2, responseObj)
   end

   # additional documentation - citation [] (required)
   if hAddDoc.has_key?('citation')
      hAddDoc['citation'].each do |item|
         hDoc = Citation.unpack(item, responseObj)
         unless hDoc.nil?
            intAddDoc[:citation] << hDoc
         end
      end
   end
   if intAddDoc[:citation].empty?
      @MessagePath.issueError(3, responseObj)
   end

   return intAddDoc

end