Sha256: 6c6394d29320f99966127bf8e326e29abc1695f1c9ae5e2c71b15c349ace148d

Contents?: true

Size: 1.68 KB

Versions: 4

Compression:

Stored size: 1.68 KB

Contents

module Iso690Render
  def self.date1(date)
    return nil if date.nil?
    on = date&.at("./on")&.text
    from = date&.at("./from")&.text
    to = date&.at("./to")&.text
    return MMMddyyyy(on) if on
    return "#{MMMddyyyy(from)}–#{MMMddyyyy(to)}" if from
    nil
  end

  def self.date(doc)
    updated = date1(doc&.at("./date[@type = 'updated']"))
    pub = date1(doc&.at("./date[@type = 'issued']"))
    if pub
      ret = pub
      ret += " (updated #{updated})" if updated
      return ret
    end
    pub = date1(doc&.at("./date[@type = 'circulated']")) and
      return pub
    date1(doc&.at("./date"))
  end

  def self.year(date)
    return nil if date.nil?
    date.sub(/^(\d\d\d\d).*$/, "\\1")
  end

=begin
  def self.monthyr(isodate)
    return nil if isodate.nil?
    arr = isodate.split("-")
    date = if arr.size == 2
      DateTime.new(*arr.map(&:to_i))
    else
      DateTime.parse(isodate)
    end
    date.localize(:en).to_additional_s("yMMMM")
  end

  def self.mmddyyyy(isodate)
    return nil if isodate.nil?
    arr = isodate.split("-")
    date = if arr.size == 1 and (/^\d+$/.match isodate)
             Date.new(*arr.map(&:to_i)).strftime("%Y")
      elsif arr.size == 2
      Date.new(*arr.map(&:to_i)).strftime("%m-%Y")
    else
      Date.parse(isodate).strftime("%m-%d-%Y")
    end
  end
=end

  def self.MMMddyyyy(isodate)
    return nil if isodate.nil?
    arr = isodate.split("-")
    date = if arr.size == 1 and (/^\d+$/.match isodate)
             Date.new(*arr.map(&:to_i)).strftime("%Y")
           elsif arr.size == 2
             Date.new(*arr.map(&:to_i)).strftime("%B %Y")
           else
             Date.parse(isodate).strftime("%B %d, %Y")
           end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
metanorma-nist-1.0.3 lib/isodoc/nist/render_dates.rb
metanorma-nist-1.0.2 lib/isodoc/nist/render_dates.rb
metanorma-nist-1.0.1 lib/isodoc/nist/render_dates.rb
metanorma-nist-1.0.0 lib/isodoc/nist/render_dates.rb