Module: Rubyfocus::XMLTranslator

Defined in:
lib/rubyfocus/xml_translator.rb

Constant Summary collapse

VALID_NODE_NAMES =
%w(string true false integer array)

Class Method Summary collapse

Class Method Details

.array(node) ⇒ Object



32
33
34
# File 'lib/rubyfocus/xml_translator.rb', line 32

def array(node)
  node.children.map{ |child| parse(child) }
end

.false(node) ⇒ Object



24
25
26
# File 'lib/rubyfocus/xml_translator.rb', line 24

def false(node)
  false
end

.integer(node) ⇒ Object



28
29
30
# File 'lib/rubyfocus/xml_translator.rb', line 28

def integer(node)
  node.inner_html.to_i
end

.parse(node) ⇒ Object

Actual parsing method



6
7
8
9
10
11
12
13
# File 'lib/rubyfocus/xml_translator.rb', line 6

def parse(node)
  method_name = node.name
  if VALID_NODE_NAMES.include?(method_name)
    self.send(method_name, node)
  else
    raise RuntimeError, "Does not recognise node type: #{method_name}."
  end
end

.string(node) ⇒ Object

Individual parsing methods



16
17
18
# File 'lib/rubyfocus/xml_translator.rb', line 16

def string(node)
  node.inner_html
end

.true(node) ⇒ Object



20
21
22
# File 'lib/rubyfocus/xml_translator.rb', line 20

def true(node)
  true
end