Sha256: 462971c5c3eb8ad4de7f29a20dda6b471ecd72544b62d06984b8445d4769fb5f

Contents?: true

Size: 914 Bytes

Versions: 4

Compression:

Stored size: 914 Bytes

Contents

module RelatonUn
  module HashConverter
    include RelatonBib::HashConverter
    extend self
    # @override RelatonIsoBib::HashConverter.hash_to_bib
    # @param args [Hash]
    # @param nested [TrueClass, FalseClass]
    # @return [Hash]
    def hash_to_bib(args)
      ret = super
      return if ret.nil?

      ret[:submissionlanguage] = RelatonBib.array ret[:submissionlanguage]
      session_hash_to_bib ret
      ret
    end

    private

    # @param ret [Hash]
    def session_hash_to_bib(ret)
      ret[:session] = Session.new(**ret[:session]) if ret[:session]
    end

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

      committee = eg.map { |e| e[:committee] }
      ret[:editorialgroup] = EditorialGroup.new RelatonBib.array(committee)
    end

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

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
relaton-un-1.19.0 lib/relaton_un/hash_converter.rb
relaton-un-1.18.1 lib/relaton_un/hash_converter.rb
relaton-un-1.18.0 lib/relaton_un/hash_converter.rb
relaton-un-1.17.0 lib/relaton_un/hash_converter.rb