Sha256: 87cbb5c0b80ee23def55f50f0be52a229e0df140a7788c783115aabf66eff7f7

Contents?: true

Size: 1.21 KB

Versions: 3

Compression:

Stored size: 1.21 KB

Contents

module Relaton
  module Plateau
    module HashConverter
      include RelatonBib::HashConverter
      extend self
      # @param args [Hash]
      # @return [Hash]
      def hash_to_bib(args)
        ret = super
        return unless ret
        return ret unless ret[:ext]

        hash_to_bib_cover ret
        hash_to_bib_filesize ret
        hash_to_bib_stagename ret
        ret.delete :ext
        ret
      end

      def hash_to_bib_cover(ret)
        return unless ret[:ext][:cover]

        image = ret[:ext][:cover][:image]
        ret[:cover] = Cover.new(RelatonBib::Image.new(**image))
      end

      def hash_to_bib_filesize(ret)
        return unless ret[:ext][:filesize]

        ret[:filesize] = ret[:ext][:filesize].to_i
      end

      def hash_to_bib_stagename(ret)
        return unless ret[:ext][:stagename]

        ret[:stagename] = Stagename.new(**ret[:ext][:stagename])
      end

      # @param item_hash [Hash]
      # @return [RelatonCie::BibliographicItem]
      def bib_item(item_hash)
        BibItem.new(**item_hash)
      end

      def create_docid(**args)
        Docidentifier.new(**args)
      end

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

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
relaton-plateau-1.20.0 lib/relaton/plateau/hash_converter.rb
relaton-plateau-1.19.5 lib/relaton/plateau/hash_converter.rb
relaton-plateau-1.19.4 lib/relaton/plateau/hash_converter.rb