module NipperParser::ParserUtils
ParserUtils
is a helper module for parsers' quick and dirty operations.
Constants
- Attribute
Public Instance Methods
attributes(attr)
click to toggle source
@param attr [Nokogiri::XML::Element] @return [ParserUtils::Attribute]
# File lib/nipper_parser/parsers/parser_utils.rb, line 34 def attributes(attr) require 'pp' # pp caller_locations Attribute.new( attr.attributes['index'].text.to_f, attr.attributes['title'].text, attr.attributes['ref'].text, ) end
generate_table(elements)
click to toggle source
generate_table
parses the table elements @param elements [Nokogiri::XML::Element] @return [Hash]
# File lib/nipper_parser/parsers/parser_utils.rb, line 12 def generate_table(elements) headers = elements[0].elements.map{|header| header.text.downcase.tr(' ', '_').to_sym} body = elements[1].elements.map{|e1| e1.elements.map{|e2| e2.text}} body.map{|element| headers.zip(element).to_h} end
rating_table(elements)
click to toggle source
risk_table parses risk elements @param elements [Nokogiri::XML::Element] @return [Hash]
# File lib/nipper_parser/parsers/parser_utils.rb, line 22 def rating_table(elements) { elements[0].name.to_sym => elements[0].text, elements[1].name.to_sym => elements[1].text, elements[2].name.to_sym => elements[2].text, elements[3].name.to_sym => elements[3].text } end