Sha256: ed282ab8ca6ef69ed2557eba7760e02dd46d2322bcf727e4a1d94dc50f794867

Contents?: true

Size: 1.21 KB

Versions: 9

Compression:

Stored size: 1.21 KB

Contents

module RelatonNist
  module HashConverter
    include RelatonBib::HashConverter
    extend self

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

      commentperiod_hash_to_bib(ret)
      ret
    end

    private

    # @param item_hash [Hash]
    # @return [RelatonNist::NistBibliographicItem]
    def bib_item(item_hash)
      NistBibliographicItem.new(**item_hash)
    end

    def commentperiod_hash_to_bib(ret)
      return unless ret[:commentperiod]

      ret[:commentperiod] = CommentPeriod.new(**ret[:commentperiod])
    end

    # @param ret [Hash]
    def relations_hash_to_bib(ret)
      super
      return unless ret[:relation]

      ret[:relation] = ret[:relation].map { |r| DocumentRelation.new(**r) }

      # ret[:relation] = array(ret[:relation])
      # ret[:relation]&.each do |r|
      #   if r[:description]
      #     r[:description] = FormattedString.new r[:description]
      #   end
      #   relation_bibitem_hash_to_bib(r)
      #   relation_locality_hash_to_bib(r)
      #   relation_source_locality_hash_to_bib(r)
      # end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
relaton-nist-1.19.7 lib/relaton_nist/hash_converter.rb
relaton-nist-1.19.6 lib/relaton_nist/hash_converter.rb
relaton-nist-1.19.5 lib/relaton_nist/hash_converter.rb
relaton-nist-1.19.4 lib/relaton_nist/hash_converter.rb
relaton-nist-1.19.3 lib/relaton_nist/hash_converter.rb
relaton-nist-1.19.1 lib/relaton_nist/hash_converter.rb
relaton-nist-1.19.0 lib/relaton_nist/hash_converter.rb
relaton-nist-1.18.0 lib/relaton_nist/hash_converter.rb
relaton-nist-1.17.0 lib/relaton_nist/hash_converter.rb