class ADIWG::Mdtranslator::Writers::Iso19115_1::MD_Releasability

Public Class Methods

new(xml, hResponseObj) click to toggle source
# File lib/adiwg/mdtranslator/writers/iso19115_1/classes/class_releasability.rb, line 17
def initialize(xml, hResponseObj)
   @xml = xml
   @hResponseObj = hResponseObj
end

Public Instance Methods

writeXML(hRelease, inContext = nil) click to toggle source
# File lib/adiwg/mdtranslator/writers/iso19115_1/classes/class_releasability.rb, line 22
def writeXML(hRelease, inContext = nil)

   @xml.tag!('mco:MD_Releasability') do

      codelistClass = MD_Codelist.new(@xml, @hResponseObj)
      responsibleClass = CI_Responsibility.new(@xml, @hResponseObj)

      outContext = 'releasability'
      outContext = inContext + ' releasability' unless inContext.nil?

      # releasability - addressee [] {CI_Responsibility}
      aParties = hRelease[:addressee]
      aParties.each do |hRParty|
         @xml.tag!('mco:addressee') do
            responsibleClass.writeXML(hRParty, outContext)
         end
      end
      if aParties.empty? && @hResponseObj[:writerShowTags]
         @xml.tag!('mco:addressee')
      end

      # releasability - statement
      unless hRelease[:statement].nil?
         @xml.tag!('mco:statement') do
            @xml.tag!('gco:CharacterString', hRelease[:statement])
         end
      end
      if hRelease[:statement].nil? && @hResponseObj[:writerShowTags]
         @xml.tag!('mco:statement')
      end

      # releasability - dissemination constraint [] {MD_RestrictionCode}
      aConstraint = hRelease[:disseminationConstraint]
      aConstraint.each do |constraint|
         @xml.tag!('mco:disseminationConstraints') do
            codelistClass.writeXML('mco', 'iso_restriction', constraint)
         end
      end
      if aConstraint.empty? && @hResponseObj[:writerShowTags]
         @xml.tag!('mco:disseminationConstraints')
      end

   end # MD_Releasability tag
end