Sha256: df0c289c3219d2cef6949e18203b810bcadc4d6d6c172c4b99e78bdb478391fa

Contents?: true

Size: 1.03 KB

Versions: 1

Compression:

Stored size: 1.03 KB

Contents

require "isodoc"

module IsoDoc
  module Rsd

    class Metadata < IsoDoc::Generic::Metadata
      def configuration
        Metanorma::Rsd.configuration
      end

      def security(isoxml, _out)
        security = isoxml.at(ns("//bibdata/ext/security")) || return
        set(:security, security.text)
      end

      def recipient(isoxml, _out)
        recipient = isoxml.at(ns("//bibdata/ext/recipient")) || return
        set(:recipient, recipient.text)
      end

      def version(isoxml, _out)
        super
        revdate = get[:revdate]
        set(:revdate_MMMddyyyy, MMMddyyyy(revdate))
      end

      def 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
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
metanorma-rsd-1.4.4 lib/isodoc/rsd/metadata.rb