class ADIWG::Mdtranslator::Writers::Iso19110::CI_Telephone

Public Class Methods

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

Public Instance Methods

writeXML(aPhones) click to toggle source
# File lib/adiwg/mdtranslator/writers/iso19110/classes/class_phone.rb, line 25
def writeXML(aPhones)

   # ISO requires phones to be grouped in order (voice, fax)
   @xml.tag!('gmd:CI_Telephone') do

      # voice phones
      voiceCount = 0
      aPhones.each do |hPhone|
         if hPhone[:phoneServiceTypes].empty?
            hPhone[:phoneServiceTypes] << 'voice'
         end
         if hPhone[:phoneServiceTypes].include?('voice')
            pName = hPhone[:phoneName]
            pNumber = hPhone[:phoneNumber]
            if pName.nil?
               s = pNumber
            else
               s = pName + ': ' + pNumber
            end
            @xml.tag!('gmd:voice') do
               @xml.tag!('gco:CharacterString', s)
               voiceCount += 1
            end
         end
      end
      if voiceCount == 0 && @hResponseObj[:writerShowTags]
         @xml.tag!('gmd:voice')
      end

      # fax phones
      faxCount = 0
      aPhones.each do |hPhone|
         if hPhone[:phoneServiceTypes].include?('fax') ||
            hPhone[:phoneServiceTypes].include?('facsimile')
            pName = hPhone[:phoneName]
            pNumber = hPhone[:phoneNumber]
            if pName.nil?
               s = pNumber
            else
               s = pName + ': ' + pNumber
            end
            @xml.tag!('gmd:facsimile') do
               @xml.tag!('gco:CharacterString', s)
               faxCount += 1
            end
         end
      end
      if faxCount == 0 && @hResponseObj[:writerShowTags]
         @xml.tag!('gmd:facsimile')
      end

   end # CI_Telephone tag
end