module ADIWG::Mdtranslator::Writers::SbJson::Date
Public Class Methods
build(hResource)
click to toggle source
# File lib/adiwg/mdtranslator/writers/sbJson/sections/sbJson_date.rb, line 15 def self.build(hResource) aDates = [] hCitation = hResource[:citation] # add citation dates to sbJson dates unless hCitation.empty? hCitation[:dates].each do |hDate| sbDate = {} dateType = Codelists.codelist_adiwg2sb('date_adiwg2sb', hDate[:dateType]) # if iso date codes does not map to scienceBase use type = 'Info' if dateType.nil? sbDate[:type] = 'Info' sbDate[:dateString] = AdiwgDateTimeFun.stringDateTimeFromDateObject(hDate) sbDate[:label] = hDate[:dateType] else sbDate[:type] = dateType sbDate[:dateString] = AdiwgDateTimeFun.stringDateTimeFromDateObject(hDate) sbDate[:label] = hDate[:description] unless hDate[:description].nil? end aDates << sbDate end end # add resource timePeriod dates to sbJson dates unless hResource[:timePeriod].empty? unless hResource[:timePeriod][:startDateTime].empty? sbDate = {} sbDate[:type] = 'Start' sbDate[:dateString] = AdiwgDateTimeFun.stringDateTimeFromDateObject(hResource[:timePeriod][:startDateTime]) sbDate[:label] = hResource[:timePeriod][:description] unless hResource[:timePeriod][:description].nil? aDates << sbDate end unless hResource[:timePeriod][:endDateTime].empty? sbDate = {} sbDate[:type] = 'End' sbDate[:dateString] = AdiwgDateTimeFun.stringDateTimeFromDateObject(hResource[:timePeriod][:endDateTime]) sbDate[:label] = hResource[:timePeriod][:description] unless hResource[:timePeriod][:description].nil? aDates << sbDate end end if aDates.empty? return nil end aDates end