class RelatonItu::StructuredIdentifier

Attributes

annexid[R]

@return [String, NilClass]

bureau[R]

@return [String]

docnumber[R]

@return [String]

Public Class Methods

new(bureau:, docnumber:, annexid: nil) click to toggle source

@param bureau [String] T, D, or R @param docnumber [String] @param annexid [String, NilClass]

# File lib/relaton_itu/structured_identifier.rb, line 12
def initialize(bureau:, docnumber:, annexid: nil)
  unless EditorialGroup::BUREAUS.include? bureau
    warn "[relaton-itu] WARNING: invalid bureau: #{bureau}"
  end
  @bureau = bureau
  @docnumber = docnumber
  @annexid = annexid
end

Public Instance Methods

presence?() click to toggle source
# File lib/relaton_itu/structured_identifier.rb, line 47
def presence?
  true
end
to_asciibib(prefix) click to toggle source

@param prefix [String] @return [String]

# File lib/relaton_itu/structured_identifier.rb, line 39
def to_asciibib(prefix)
  pref = prefix.empty? ? prefix : prefix + "."
  pref += "structuredidentifier"
  out = "#{pref}.bureau:: #{bureau}\n#{pref}.docnumber:: #{docnumber}\n"
  out += "#{pref}.annexid:: #{annexid}\n" if annexid
  out
end
to_hash() click to toggle source

@return [Hash]

# File lib/relaton_itu/structured_identifier.rb, line 31
def to_hash
  hash = { bureau: bureau, docnumber: docnumber }
  hash[:annexid] = annexid if annexid
  hash
end
to_xml(builder) click to toggle source

@param builder [Nokogiri::XML::Builder]

# File lib/relaton_itu/structured_identifier.rb, line 22
def to_xml(builder)
  builder.structuredidentifier do |b|
    b.bureau bureau
    b.docnumber docnumber
    b.annexid annexid if annexid
  end
end