Sha256: 9f57e6f3e8fdbe2be4e564995718780e6e839a829a68d9b1a1e031aa67c609c0

Contents?: true

Size: 853 Bytes

Versions: 2

Compression:

Stored size: 853 Bytes

Contents

module RelatonCalconnect
  class XMLParser < RelatonBib::XMLParser
    class << self
      # override RelatonBib::BibliographicItem.bib_item method
      # @param item_hash [Hash]
      # @return [RelatonIsoBib::IsoBibliographicItem]
      def bib_item(item_hash)
        CcBibliographicItem.new **item_hash
      end

      # @param ext [Nokogiri::XML::Element]
      # @return [RelatonBib::EditorialGroup, nil]
      def fetch_editorialgroup(ext)
        return unless ext && (eg = ext.at "editorialgroup")

        eg = eg.xpath("committee", "technical-committee").map do |tc|
          wg = RelatonBib::WorkGroup.new(content: tc.text, number: tc[:number]&.to_i,
                                         type: tc[:type])
          TechnicalCommittee.new wg
        end
        RelatonBib::EditorialGroup.new eg if eg.any?
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
relaton-calconnect-1.8.0 lib/relaton_calconnect/xml_parser.rb
relaton-calconnect-1.7.2 lib/relaton_calconnect/xml_parser.rb