Sha256: d34a3a8b7052383d8976e6740addca2b643c43a35963f0a7c259b721742992e8

Contents?: true

Size: 732 Bytes

Versions: 8

Compression:

Stored size: 732 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 [RelatonIeee::IeeeBibliographicItem]
      def bib_item(item_hash)
        IeeeBibliographicItem.new item_hash
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
relaton-ieee-1.7.1 lib/relaton_ieee/xml_parser.rb
relaton-ieee-1.7.0 lib/relaton_ieee/xml_parser.rb
relaton-ieee-1.6.0 lib/relaton_ieee/xml_parser.rb
relaton-ieee-1.6.pre1 lib/relaton_ieee/xml_parser.rb
relaton-ieee-1.5.0 lib/relaton_ieee/xml_parser.rb
relaton-ieee-1.5.pre lib/relaton_ieee/xml_parser.rb
relaton-ieee-1.4.0 lib/relaton_ieee/xml_parser.rb
relaton-ieee-1.3.0 lib/relaton_ieee/xml_parser.rb