Sha256: 2eb1c34b1c1bf7f175e19879a06d7f7fb4b60e29f87e1a925dd86c8f82b22607

Contents?: true

Size: 935 Bytes

Versions: 3

Compression:

Stored size: 935 Bytes

Contents

module RelatonIetf
  module HashConverter
    include RelatonBib::HashConverter
    extend self
    def hash_to_bib(hash)
      ret = super
      return unless ret

      stream_hash_to_bib ret
      ret
    end

    #
    # Ovverides superclass's method
    #
    # @param item [Hash]
    # @retirn [RelatonIetf::IetfBibliographicItem]
    def bib_item(item)
      IetfBibliographicItem.new(**item)
    end

    # @param ret [Hash]
    def editorialgroup_hash_to_bib(ret)
      return unless ret[:editorialgroup]

      technical_committee = RelatonBib.array(ret[:editorialgroup]).map do |wg|
        Committee.new RelatonBib::WorkGroup.new(**wg)
      end
      ret[:editorialgroup] = RelatonBib::EditorialGroup.new technical_committee
    end

    def stream_hash_to_bib(ret)
      ret[:stream] = ret[:ext][:stream] if ret[:ext]&.key? :stream
    end

    def create_doctype(**args)
      DocumentType.new(**args)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
relaton-ietf-1.19.0 lib/relaton_ietf/hash_converter.rb
relaton-ietf-1.18.0 lib/relaton_ietf/hash_converter.rb
relaton-ietf-1.17.0 lib/relaton_ietf/hash_converter.rb