Sha256: 6e2d0bb1d3b7ecd9ea79ea266bd0138257e67a0c0370fe7702c66ec88f18ef6b

Contents?: true

Size: 806 Bytes

Versions: 7

Compression:

Stored size: 806 Bytes

Contents

module RelatonIetf
  class IetfBibliographicItem < RelatonBib::BibliographicItem
    # @return [String, NilClass]
    attr_reader :doctype

    # @return [Array<String>]
    attr_reader :keywords

    # @param doctype [String]
    # @param keywords [Array<String>]
    def initialize(**args)
      @doctype = args.delete :doctype
      @keywords = args.delete(:keywords) || []
      super
    end

    # @param builder
    # @param opts [Hash]
    # @option opts [Symbol, NilClass] :date_format (:short), :full
    def to_xml(builder = nil, **opts)
      opts[:date_format] ||= :short
      super builder, **opts do |b|
        if opts[:bibdata]
          b.ext do
            b.doctype doctype if doctype
            keywords.each { |k| b.keyword k }
          end
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
relaton-ietf-0.6.0 lib/relaton_ietf/ietf_bibliographic_item.rb
relaton-ietf-0.5.5 lib/relaton_ietf/ietf_bibliographic_item.rb
relaton-ietf-0.5.4 lib/relaton_ietf/ietf_bibliographic_item.rb
relaton-ietf-0.5.3 lib/relaton_ietf/ietf_bibliographic_item.rb
relaton-ietf-0.5.2 lib/relaton_ietf/ietf_bibliographic_item.rb
relaton-ietf-0.5.1 lib/relaton_ietf/ietf_bibliographic_item.rb
relaton-ietf-0.5.0 lib/relaton_ietf/ietf_bibliographi_item.rb