Class: DiffResource::ResxParser

Inherits:
Parser
  • Object
show all
Defined in:
lib/diff_resource/parser/resx_parser.rb

Instance Method Summary collapse

Instance Method Details

#parse(str) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/diff_resource/parser/resx_parser.rb', line 5

def parse str
  ret = []
  begin
    resx = REXML::Document.new str

    REXML::XPath.match(resx, "/root/data").map do |data|
      type = data.attribute("type")
      next unless type.nil?

      key = data.attribute("name").value
      value_element = data.elements["value"]
      value = value_element ? value_element.text : nil

      ret << @@resource.new(key, value)
    end
  rescue => e
    p e.message
  end

  return ret
end