Sha256: 72064a414b872892121e08a01ea5f8811dd88937f43f76ad740eee886cf178ea
Contents?: true
Size: 1.25 KB
Versions: 4
Compression:
Stored size: 1.25 KB
Contents
module RelatonItu class StructuredIdentifier # @return [String] attr_reader :bureau, :docnumber # @return [String, NilClass] attr_reader :annexid # @param bureau [String] T, D, or R # @param docnumber [String] # @param annexid [String, NilClass] def initialize(bureau:, docnumber:, annexid: nil) unless EditorialGroup::BUREAUS.include? bureau Util.warn "WARNING: Invalid bureau: `#{bureau}`" end @bureau = bureau @docnumber = docnumber @annexid = annexid end # @param builder [Nokogiri::XML::Builder] def to_xml(builder) builder.structuredidentifier do |b| b.bureau bureau b.docnumber docnumber b.annexid annexid if annexid end end # @return [Hash] def to_hash hash = { bureau: bureau, docnumber: docnumber } hash[:annexid] = annexid if annexid hash end # @param prefix [String] # @return [String] 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 def presence? true end end end
Version data entries
4 entries across 4 versions & 1 rubygems