Sha256: 40c1bd6a67ab2c5955cd66c3deeedfe706065bfed80cad926c9e3ef88e762ac6

Contents?: true

Size: 985 Bytes

Versions: 1

Compression:

Stored size: 985 Bytes

Contents

require "isodoc"
require "metanorma-iso"

module IsoDoc
  module BSI
    class Metadata < IsoDoc::Iso::Metadata
      def docstatus(isoxml, _out)
        docstatus = isoxml.at(ns("//bibdata/status/stage"))
        substage = isoxml.at(ns("//bibdata/status/substage"))
        set(:unpublished, false)
        if docstatus
          set(:stage, docstatus.text)
          set(:stage_int, docstatus.text.to_i)
          set(:unpublished, unpublished(docstatus.text))
          set(:statusabbr, substage["abbreviation"])
          unpublished(docstatus.text) and
            set(:stageabbr, docstatus["abbreviation"])
        end
        revdate = isoxml.at(ns("//version/revision-date"))
        set(:revdate, revdate&.text)
      end

      def unpublished(status)
        status.to_i.positive? && status.to_i < 60
      end

       def docid(isoxml, _out)
        dn = isoxml.at(ns("//bibdata/docidentifier[@type = 'BS']"))
        set(:docnumber, dn&.text)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
metanorma-bsi-0.0.1 lib/isodoc/bsi/metadata.rb