Sha256: d9ddab20ba2b931d54efd0dc24f9373de0235a051c938fa65242db1705144cb6

Contents?: true

Size: 1.19 KB

Versions: 77

Compression:

Stored size: 1.19 KB

Contents

module RelatonBipm
  class StructuredIdentifier
    # @return [String]
    attr_reader :docnumber

    # @return [String, nil]
    attr_reader :part, :appendix

    # @param docnumber [String]
    # @param part [String]
    # @param appendix [String]
    def initialize(docnumber:, part: nil, appendix: nil)
      @docnumber = docnumber
      @part = part
      @appendix = appendix
    end

    # @param builder [Nokogiri::XML::Builder]
    def to_xml(builder)
      builder.structuredidentifier do |b|
        b.docnumber docnumber
        b.part part if part
        b.appendix appendix if appendix
      end
    end

    # @return [Hash]
    def to_hash
      hash = { "docnumber" => docnumber }
      hash["part"] = part if part
      hash["appendix"] = appendix if appendix
      hash
    end

    # @param prefix [String]
    # @return [String]
    def to_asciibib(prefix = "")
      pref = prefix.empty? ? prefix : prefix + "."
      pref += "structuredidentifier"
      out = "#{pref}.docnumber:: #{docnumber}\n"
      out += "#{pref}.part:: #{part}\n" if part
      out += "#{pref}.appendix:: #{appendix}\n" if appendix
      out
    end

    # @return [true]
    def presence?
      true
    end
  end
end

Version data entries

77 entries across 77 versions & 1 rubygems

Version Path
relaton-bipm-1.20.3 lib/relaton_bipm/structured_identifier.rb
relaton-bipm-1.20.2 lib/relaton_bipm/structured_identifier.rb
relaton-bipm-1.19.4 lib/relaton_bipm/structured_identifier.rb
relaton-bipm-1.20.1 lib/relaton_bipm/structured_identifier.rb
relaton-bipm-1.19.3 lib/relaton_bipm/structured_identifier.rb
relaton-bipm-1.20.0.v1.19.3.1 lib/relaton_bipm/structured_identifier.rb
relaton-bipm-1.20.0 lib/relaton_bipm/structured_identifier.rb
relaton-bipm-1.19.2 lib/relaton_bipm/structured_identifier.rb
relaton-bipm-1.19.1 lib/relaton_bipm/structured_identifier.rb
relaton-bipm-1.19.0 lib/relaton_bipm/structured_identifier.rb
relaton-bipm-1.18.2 lib/relaton_bipm/structured_identifier.rb
relaton-bipm-1.18.1 lib/relaton_bipm/structured_identifier.rb
relaton-bipm-1.18.0 lib/relaton_bipm/structured_identifier.rb
relaton-bipm-1.17.1 lib/relaton_bipm/structured_identifier.rb
relaton-bipm-1.17.0 lib/relaton_bipm/structured_identifier.rb
relaton-bipm-1.16.6 lib/relaton_bipm/structured_identifier.rb
relaton-bipm-1.16.5 lib/relaton_bipm/structured_identifier.rb
relaton-bipm-1.16.4 lib/relaton_bipm/structured_identifier.rb
relaton-bipm-1.16.3 lib/relaton_bipm/structured_identifier.rb
relaton-bipm-1.16.2 lib/relaton_bipm/structured_identifier.rb