Sha256: c7d8d073b6e7abde24f41d81635a0c7086337a03230250359907984a3986b1fa

Contents?: true

Size: 728 Bytes

Versions: 1

Compression:

Stored size: 728 Bytes

Contents

module RelatonIeee
  class XMLParser < RelatonBib::XMLParser
    class << self
      private

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

        data[:committee] = ext.xpath("./committee").map do |c|
          Committee.new(
            type: c[:type], name: c.at("name").text, chair: c.at("chair")&.text,
          )
        end
        data
      end

      # @param item_hash [Hash]
      # @return [RelatonBib::BibliographicItem]
      def bib_item(item_hash)
        IeeeBibliographicItem.new item_hash
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
relaton-ieee-1.1.0 lib/relaton_ieee/xml_parser.rb