class XmlDataExtractor

Attributes

config[R]
modifiers[R]

Public Class Methods

new(config, modifiers = nil) click to toggle source
# File lib/xml_data_extractor.rb, line 7
def initialize(config, modifiers = nil)
  @config = config
  @modifiers = modifiers
end

Public Instance Methods

parse(xml) click to toggle source
# File lib/xml_data_extractor.rb, line 12
def parse(xml)
  extractor = Extractor.new(xml, config, modifiers)
  schemas = config.fetch(:schemas, {})

  {}.tap do |hash|
    schemas.map do |key, val|
      value = Extract::ValueBuilder.new(Node.new(val), extractor).value
      hash[key] = value if value.present?
    end
  end
end