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