Class: IsoDoc::BSI::Metadata

Inherits:
Iso::Metadata
  • Object
show all
Defined in:
lib/isodoc/bsi/metadata.rb

Instance Method Summary collapse

Instance Method Details

#docid(isoxml, _out) ⇒ Object



27
28
29
30
# File 'lib/isodoc/bsi/metadata.rb', line 27

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

#docstatus(isoxml, _out) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/isodoc/bsi/metadata.rb', line 7

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

#unpublished(status) ⇒ Object



23
24
25
# File 'lib/isodoc/bsi/metadata.rb', line 23

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