Sha256: c367666f8f4fb870f171143222f4205aebbb86ed70c74cdfb5050a70126a2829

Contents?: true

Size: 1.07 KB

Versions: 21

Compression:

Stored size: 1.07 KB

Contents

module RelatonBib
  class WorkGroup
    # @return [String]
    attr_reader :content

    # @return [Integer, nil]
    attr_reader :number

    # @return [String, nil]
    attr_reader :type

    # @param content [String]
    # @param number [Integer, nil]
    # @param type [String, nil]
    def initialize(content:, number: nil, type: nil)
      @content = content
      @number = number
      @type = type
    end

    # @param builder [Nokogiri::XML::Builder]
    def to_xml(builder)
      builder.text content
      builder.parent[:number] = number if number
      builder.parent[:type] = type if type
    end

    # @return [Hash]
    def to_hash
      hash = { "content" => content }
      hash["number"] = number if number
      hash["type"] = type if type
      hash
    end

    # @param prefix [String]
    # @return [String]
    def to_asciibib(prefix = "")
      pref = prefix.empty? ? prefix : prefix + "."
      out = "#{pref}content:: #{content}\n"
      out += "#{pref}number:: #{number}\n" if number
      out += "#{pref}type:: #{type}\n" if type
      out
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
relaton-bib-1.8.2 lib/relaton_bib/workgroup.rb
relaton-bib-1.8.1 lib/relaton_bib/workgroup.rb
relaton-bib-1.8.0 lib/relaton_bib/workgroup.rb
relaton-bib-1.7.5 lib/relaton_bib/workgroup.rb
relaton-bib-1.7.4 lib/relaton_bib/workgroup.rb
relaton-bib-1.7.3 lib/relaton_bib/workgroup.rb
relaton-bib-1.7.2 lib/relaton_bib/workgroup.rb
relaton-bib-1.7.1 lib/relaton_bib/workgroup.rb
relaton-bib-1.7.0 lib/relaton_bib/workgroup.rb
relaton-bib-1.6.2 lib/relaton_bib/workgroup.rb
relaton-bib-1.6.1 lib/relaton_bib/workgroup.rb
relaton-bib-1.6.0 lib/relaton_bib/workgroup.rb
relaton-bib-1.6.pre1 lib/relaton_bib/workgroup.rb
relaton-bib-1.5.1 lib/relaton_bib/workgroup.rb
relaton-bib-1.5.0 lib/relaton_bib/workgroup.rb
relaton-bib-1.5.pre1 lib/relaton_bib/workgroup.rb
relaton-bib-1.5.pre lib/relaton_bib/workgroup.rb
relaton-bib-1.4.1 lib/relaton_bib/workgroup.rb
relaton-bib-1.4.0 lib/relaton_bib/workgroup.rb
relaton-bib-1.3.1 lib/relaton_bib/workgroup.rb