Sha256: dd98ebacb9248823b3009ddbc38ac38f50eb664bdadaf1db64a5509e3557a2ec
Contents?: true
Size: 1.17 KB
Versions: 20
Compression:
Stored size: 1.17 KB
Contents
require "nokogiri" module RelatonOgc class XMLParser < RelatonIsoBib::XMLParser class << self private # override RelatonIsoBib::IsoBibliographicItem.bib_item method # @param item_hash [Hash] # @return [RelatonOgc::OgcBibliographicItem] def bib_item(item_hash) OgcBibliographicItem.new(**item_hash) end # Override RelatonIsoBib::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[:docsubtype] = ext.at("./docsubtype")&.text # data # end # @TODO Organization doesn't recreated # @param ext [Nokogiri::XML::Element] # @return [RelatonIsoBib::EditorialGroup] def fetch_editorialgroup(ext) eg = ext.at("./editorialgroup") return unless eg committe = eg&.at("committee")&.text sc = iso_subgroup eg&.at("subcommittee") wg = iso_subgroup eg&.at("workgroup") EditorialGroup.new( committee: committe, subcommittee: sc, workgroup: wg, ) end end end end
Version data entries
20 entries across 20 versions & 1 rubygems