Class: RelatonNist::NistBibliographicItem

Inherits:
RelatonBib::BibliographicItem
  • Object
show all
Defined in:
lib/relaton_nist/nist_bibliographic_item.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ NistBibliographicItem

Returns a new instance of NistBibliographicItem.

Parameters:

  • id (String, NilClass)
  • title (Array<RelatonBib::TypedTitleString>)
  • formattedref (RelatonBib::FormattedRef, NilClass)
  • type (String, NilClass)
  • docid (Array<RelatonBib::DocumentIdentifier>)
  • docnumber (String, NilClass)
  • language (Arra<String>)
  • script (Array<String>)
  • docstatus (RelatonNist::DocumentStatus, NilClass)
  • edition (String, NilClass)
  • version (RelatonBib::BibliographicItem::Version, NilClass)
  • biblionote (Array<RelatonBib::FormattedStrong>)
  • series (Array<RelatonBib::Series>)
  • medium (RelatonBib::Medium, NilClas)
  • place (Array<String>)
  • extent (Array<Relaton::BibItemLocality>)
  • accesslocation (Array<String>)
  • classification (RelatonBib::Classification, NilClass)
  • validity (RelatonBib:Validity, NilClass)
  • fetched (Date, NilClass)

    default nil

  • doctype (String)
  • keyword (Array<RelatonNist::Keyword>)
  • commentperiod (RelatonNist::CommentPeriod, NilClass)
  • date (Array<Hash>)
  • contributor (Array<Hash>)
  • abstract (Array<Hash>)
  • relation (Array<Hash>)


58
59
60
61
62
63
# File 'lib/relaton_nist/nist_bibliographic_item.rb', line 58

def initialize(**args)
  @doctype = args.delete(:doctype) || "standard"
  # @keyword = args.delete(:keyword) || []
  @commentperiod = args.delete :commentperiod
  super
end

Instance Attribute Details

#commentperiodRelatonNist::CommentPeriod, NilClass (readonly)

Returns:



10
11
12
# File 'lib/relaton_nist/nist_bibliographic_item.rb', line 10

def commentperiod
  @commentperiod
end

#doctypeString (readonly)

Returns:

  • (String)


4
5
6
# File 'lib/relaton_nist/nist_bibliographic_item.rb', line 4

def doctype
  @doctype
end

Instance Method Details

#to_hashHash

Returns:

  • (Hash)


79
80
81
82
83
84
# File 'lib/relaton_nist/nist_bibliographic_item.rb', line 79

def to_hash
  hash = super
  # hash["keyword"] = single_element_array(keyword) if keyword&.any?
  hash["commentperiod"] = commentperiod.to_hash if commentperiod
  hash
end

#to_xml(builder = nil, **opts) ⇒ Object

Parameters:

  • builder (Nokogiri::XML::Builder) (defaults to: nil)


66
67
68
69
70
71
72
73
74
75
76
# File 'lib/relaton_nist/nist_bibliographic_item.rb', line 66

def to_xml(builder = nil, **opts)
  super builder, date_format: :short, **opts do |b|
    if opts[:bibdata]
      b.ext do
        b.doctype doctype
        # keyword.each { |kw| kw.to_xml b }
        commentperiod&.to_xml b
      end
    end
  end
end