module ADIWG::Mdtranslator::Writers::SbJson::WebLink

Public Class Methods

build(hMetadata) click to toggle source
# File lib/adiwg/mdtranslator/writers/sbJson/sections/sbJson_webLink.rb, line 48
def self.build(hMetadata)

   aLinks = []

   # build webLinks from metadataLinkages
   hMetadata[:metadataInfo][:metadataLinkages].each do |hResource|
      hWebLink = build_webLink(hResource)
      aLinks << hWebLink unless hWebLink.empty?
   end

   # build webLinks from resourceInfo[:citation][:onlineResources]
   hMetadata[:resourceInfo][:citation][:onlineResources].each do |hResource|
      hWebLink = build_webLink(hResource)
      aLinks << hWebLink unless hWebLink.empty?
   end

   # build webLinks from additionalDocumentation
   hMetadata[:additionalDocuments].each do |hDocument|
      hDocument[:citation].each do |hCitation|
         hCitation[:onlineResources].each do |hResource|
            hWebLink = build_webLink(hResource)
            aLinks << hWebLink unless hWebLink.empty?
         end
      end
   end

   # build webLinks from graphic
   hMetadata[:resourceInfo][:graphicOverviews].each do |hGraphic|
      hGraphic[:graphicURI].each do |hResource|
         hWebLink = build_webLink(hResource)
         aLinks << hWebLink unless hWebLink.empty?
      end
   end

   # build webLinks from distributor
   hMetadata[:distributorInfo].each do |aDistribution|
      aDistribution[:distributor].each do |aDistributor|
         aDistributor[:transferOptions].each do |aOption|
            aOption[:onlineOptions].each do |hResource|
               hWebLink = build_webLink(hResource)
               aLinks << hWebLink unless hWebLink.empty?
            end
         end
      end
   end

   if aLinks.empty?
      return nil
   end

   aLinks

end