Sha256: 5811dd261f670d313ea4cf01d76b8f282b16db5580423834e3e013fa3e880d52

Contents?: true

Size: 783 Bytes

Versions: 4

Compression:

Stored size: 783 Bytes

Contents

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

      #
      # Parse bibitem data
      #
      # @param bibitem [Nokogiri::XML::Element] bibitem element
      #
      # @return [Hash] bibitem data
      #
      def item_data(doc)
        resp = super
        resp[:technology_area] = doc.at("./ext/technology-area")&.text
        resp
      end

      #
      # override RelatonBib::XMLParser#bib_item method
      #
      # @param item_hash [Hash]
      #
      # @return [RelatonCcsds::BibliographicItem]
      #
      def bib_item(item_hash)
        BibliographicItem.new(**item_hash)
      end

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

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
relaton-ccsds-1.20.2 lib/relaton_ccsds/xml_parser.rb
relaton-ccsds-1.20.1 lib/relaton_ccsds/xml_parser.rb
relaton-ccsds-1.20.0 lib/relaton_ccsds/xml_parser.rb
relaton-ccsds-1.19.0 lib/relaton_ccsds/xml_parser.rb