lib/adiwg/mdtranslator/writers/fgdc/classes/class_timePeriod.rb in adiwg-mdtranslator-2.6.1 vs lib/adiwg/mdtranslator/writers/fgdc/classes/class_timePeriod.rb in adiwg-mdtranslator-2.7.0

- old
+ new

@@ -19,11 +19,11 @@ def initialize(xml, hResponseObj) @xml = xml @hResponseObj = hResponseObj end - def writeXML(hTimePeriod) + def writeXML(hTimePeriod, currentTag) # classes used singDateClass = DateSingle.new(@xml, @hResponseObj) rangeDateClass = DateRange.new(@xml, @hResponseObj) geologicAgeClass = GeologicAge.new(@xml, @hResponseObj) @@ -31,10 +31,11 @@ hStartDate = hTimePeriod[:startDateTime] hEndDate = hTimePeriod[:endDateTime] hStartGeoAge = hTimePeriod[:startGeologicAge] hEndGeoAge = hTimePeriod[:endGeologicAge] + current = hTimePeriod[:description] dateCount = 0 ageCount = 0 dateCount += 1 unless hStartDate.empty? dateCount += 1 unless hEndDate.empty? @@ -49,49 +50,54 @@ if dateCount > 0 && ageCount > 0 @hResponseObj[:writerPass] = false @hResponseObj[:writerMessages] << 'Time Period must be either conventional or geologic time, not both' end - # single date - if dateCount == 1 - @xml.tag!('timeinfo') do + @xml.tag!('timeinfo') do + + # single date + if dateCount == 1 if hStartDate.empty? singDateClass.writeXML(hEndDate) else singDateClass.writeXML(hStartDate) end end - end - # date range - if dateCount == 2 - @xml.tag!('timeinfo') do + # date range + if dateCount == 2 rangeDateClass.writeXML(hStartDate, hEndDate) end - end - # single geologic age - if ageCount == 1 - @xml.tag!('timeinfo') do + # single geologic age + if ageCount == 1 @xml.tag!('sngdate') do @xml.tag!('geolage') do if hStartGeoAge.empty? geologicAgeClass.writeXML(hEndGeoAge) else geologicAgeClass.writeXML(hStartGeoAge) end end end end - end - # geologic age range - if ageCount == 2 - @xml.tag!('timeinfo') do + # geologic age range + if ageCount == 2 @xml.tag!('rngdates') do geologicRangeClass.writeXML(hStartGeoAge,hEndGeoAge ) end end + + # add timeInfo currentness (required) + unless current.nil? + @xml.tag!(currentTag, current) + end + if current.nil? + @hResponseObj[:writerPass] = false + @hResponseObj[:writerMessages] << 'Time Info is missing time currentness' + end + end end # writeXML end # TimePeriod