Sha256: 07349bf1a0f45fef59d133bc11f363bff2a70ea06c3397a7fae3e5cdcbdbacbe

Contents?: true

Size: 1.25 KB

Versions: 16

Compression:

Stored size: 1.25 KB

Contents

module RelatonIec
  class XMLParser < RelatonIsoBib::XMLParser
    class << self
      # Override RelatonIsoBib::XMLParser.item_data method.
      # @param isoitem [Nokogiri::XML::Element]
      # @returtn [Hash]
      def item_data(isoitem) # rubocop:disable Metrics/AbcSize,Metrics/CyclomaticComplexity,Metrics/MethodLength,Metrics/PerceivedComplexity
        data = super
        ext = isoitem.at "./ext"
        return data unless ext

        data[:function] = ext.at("./function")&.text
        data[:updates_document_type] = ext.at("./updates-document-type")&.text
        aci = ext.at("./accessibility-color-inside")
        data[:accessibility_color_inside] = aci.text == "true" if aci
        data[:price_code] = ext.at("./price-code")&.text
        cp = ext.at("./cen-processing")
        data[:cen_processing] = cp.text == "true" if cp
        data[:secretary] = ext.at("./secretary")&.text
        data[:interest_to_committees] = ext.at("./interest-to-committees")&.text
        data
      end

      private

      # override RelatonIsoBib::IsoBibliographicItem.bib_item method
      # @param item_hash [Hash]
      # @return [RelatonIec::IecBibliographicItem]
      def bib_item(item_hash)
        IecBibliographicItem.new **item_hash
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
relaton-iec-1.14.4 lib/relaton_iec/xml_parser.rb
relaton-iec-1.14.3 lib/relaton_iec/xml_parser.rb
relaton-iec-1.14.2 lib/relaton_iec/xml_parser.rb
relaton-iec-1.14.1 lib/relaton_iec/xml_parser.rb
relaton-iec-1.14.0 lib/relaton_iec/xml_parser.rb
relaton-iec-1.13.0 lib/relaton_iec/xml_parser.rb
relaton-iec-1.12.0 lib/relaton_iec/xml_parser.rb
relaton-iec-1.11.4 lib/relaton_iec/xml_parser.rb
relaton-iec-1.11.3 lib/relaton_iec/xml_parser.rb
relaton-iec-1.11.2 lib/relaton_iec/xml_parser.rb
relaton-iec-1.11.1 lib/relaton_iec/xml_parser.rb
relaton-iec-1.11.0 lib/relaton_iec/xml_parser.rb
relaton-iec-1.10.1 lib/relaton_iec/xml_parser.rb
relaton-iec-1.10.0 lib/relaton_iec/xml_parser.rb
relaton-iec-1.9.0 lib/relaton_iec/xml_parser.rb
relaton-iec-1.8.0 lib/relaton_iec/xml_parser.rb