Sha256: e76fcf00eee2e5f71a8a80da34bcaeb06c3716d7bf09386fd23371a3ba5da9a0

Contents?: true

Size: 689 Bytes

Versions: 3

Compression:

Stored size: 689 Bytes

Contents

require "nokogiri"

module RelatonBsi
  class XMLParser < RelatonIsoBib::XMLParser
    class << self
      private

      # Override RelatonBib::XMLParser.item_data method.
      # @param isoitem [Nokogiri::XML::Element]
      # @returtn [Hash]
      def item_data(isoitem)
        data = super
        ext = isoitem.at "./ext"
        return data unless ext

        data
      end

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

      def create_doctype(type)
        DocumentType.new type: type.text, abbreviation: type[:abbreviation]
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
relaton-bsi-1.20.0 lib/relaton_bsi/xml_parser.rb
relaton-bsi-1.19.1 lib/relaton_bsi/xml_parser.rb
relaton-bsi-1.19.0 lib/relaton_bsi/xml_parser.rb