class ADIWG::Mdtranslator::Writers::Fgdc::DateRange

Public Class Methods

new(xml, hResponseObj) click to toggle source
# File lib/adiwg/mdtranslator/writers/fgdc/classes/class_dateRange.rb, line 18
def initialize(xml, hResponseObj)
   @xml = xml
   @hResponseObj = hResponseObj
   @NameSpace = ADIWG::Mdtranslator::Writers::Fgdc
end

Public Instance Methods

writeXML(hStartDT, hEndDT) click to toggle source
# File lib/adiwg/mdtranslator/writers/fgdc/classes/class_dateRange.rb, line 24
def writeXML(hStartDT, hEndDT)
   
   sSDate = AdiwgDateTimeFun.stringDateFromDateTime(hStartDT[:dateTime], hStartDT[:dateResolution])
   sSTime = AdiwgDateTimeFun.stringTimeFromDateTime(hStartDT[:dateTime], hStartDT[:dateResolution])
   sEDate = AdiwgDateTimeFun.stringDateFromDateTime(hEndDT[:dateTime], hEndDT[:dateResolution])
   sETime = AdiwgDateTimeFun.stringTimeFromDateTime(hEndDT[:dateTime], hEndDT[:dateResolution])

   # convert ISO date format to FGDC
   sSDate.gsub!(/[-]/,'')
   sEDate.gsub!(/[-]/,'')

   # single date 9.3 (rngdates) - date range
   @xml.tag!('rngdates') do

      # range date 9.3.1 (begdate) - range start date (required)
      unless sSDate == 'ERROR'
         @xml.tag!('begdate', sSDate)
      end
      if sSDate == 'ERROR'
         @NameSpace.issueError('start date is invalid',
                                 'date range')
      end

      # range date 9.3.2 (begtime) - range start time
      unless sSTime == 'ERROR'
         @xml.tag!('begtime', sSTime)
      end
      if sSTime == 'ERROR' && @hResponseObj[:writerShowTags]
         @xml.tag!('begtime')
      end

      # range date 9.3.3 (enddate) - range end date (required)
      unless sEDate == 'ERROR'
         @xml.tag!('enddate', sEDate)
      end
      if sEDate == 'ERROR'
         @NameSpace.issueError('end date is invalid',
                               'date range')
      end

      # range date 9.3.4 (endtime) - range end time
      unless sETime == 'ERROR'
         @xml.tag!('endtime', sETime)
      end
      if sETime == 'ERROR' && @hResponseObj[:writerShowTags]
         @xml.tag!('endtime')
      end

   end

end