Instance Methods
lib/xmlrpc/parser.rb
View on GitHub
# File tmp/rubies/ruby-2.3.8/lib/xmlrpc/parser.rb, line 344
def array(node)
nodeMustBe(node, "array")
hasOnlyOneChild(node, "data")
data(node.firstChild)
end
No documentation available
lib/xmlrpc/parser.rb
View on GitHub
# File tmp/rubies/ruby-2.3.8/lib/xmlrpc/parser.rb, line 261
def assert(b)
if not b then
raise "assert-fail"
end
end
No documentation available
lib/xmlrpc/parser.rb
View on GitHub
# File tmp/rubies/ruby-2.3.8/lib/xmlrpc/parser.rb, line 324
def base64(node)
nodeMustBe(node, "base64")
#hasOnlyOneChild(node)
Convert.base64(text_zero_one(node))
end
No documentation available
lib/xmlrpc/parser.rb
View on GitHub
# File tmp/rubies/ruby-2.3.8/lib/xmlrpc/parser.rb, line 290
def boolean(node)
nodeMustBe(node, "boolean")
hasOnlyOneChild(node)
Convert.boolean(text(node.firstChild))
end
No documentation available
lib/xmlrpc/parser.rb
View on GitHub
# File tmp/rubies/ruby-2.3.8/lib/xmlrpc/parser.rb, line 350
def data(node)
nodeMustBe(node, "data")
node.childNodes.to_a.collect do |val|
value(val)
end
end
No documentation available
lib/xmlrpc/parser.rb
View on GitHub
# File tmp/rubies/ruby-2.3.8/lib/xmlrpc/parser.rb, line 317
def dateTime(node)
nodeMustBe(node, "dateTime.iso8601")
hasOnlyOneChild(node)
Convert.dateTime( text(node.firstChild) )
end
No documentation available
lib/xmlrpc/parser.rb
View on GitHub
# File tmp/rubies/ruby-2.3.8/lib/xmlrpc/parser.rb, line 308
def double(node)
#TODO: check string for float because to_f returnsa
# 0.0 when wrong string
nodeMustBe(node, "double")
hasOnlyOneChild(node)
Convert.double(text(node.firstChild))
end
No documentation available
lib/xmlrpc/parser.rb
View on GitHub
# File tmp/rubies/ruby-2.3.8/lib/xmlrpc/parser.rb, line 399
def fault(node)
nodeMustBe(node, "fault")
hasOnlyOneChild(node, "value")
f = value(node.firstChild)
Convert.fault(f)
end
No documentation available
lib/xmlrpc/parser.rb
View on GitHub
# File tmp/rubies/ruby-2.3.8/lib/xmlrpc/parser.rb, line 251
def hasOnlyOneChild(node, name=nil)
if node.childNodes.to_a.size != 1
raise "wrong xml-rpc (size)"
end
if name != nil then
nodeMustBe(node.firstChild, name)
end
end
Returns, when successfully the only child-node
lib/xmlrpc/parser.rb
View on GitHub
# File tmp/rubies/ruby-2.3.8/lib/xmlrpc/parser.rb, line 281
def integer(node)
#TODO: check string for float because to_i returnsa
# 0 when wrong string
nodeMustBe(node, %w(i4 i8 int))
hasOnlyOneChild(node)
Convert.int(text(node.firstChild))
end
No documentation available
lib/xmlrpc/parser.rb
View on GitHub
# File tmp/rubies/ruby-2.3.8/lib/xmlrpc/parser.rb, line 331
def member(node)
nodeMustBe(node, "member")
assert( node.childNodes.to_a.size == 2 )
[ name(node[0]), value(node[1]) ]
end
No documentation available
lib/xmlrpc/parser.rb
View on GitHub
# File tmp/rubies/ruby-2.3.8/lib/xmlrpc/parser.rb, line 469
def methodCall(node)
nodeMustBe(node, "methodCall")
assert( (1..2).include?( node.childNodes.to_a.size ) )
name = methodName(node[0])
if node.childNodes.to_a.size == 2 then
pa = params(node[1])
else # no parameters given
pa = []
end
[name, pa]
end
No documentation available
lib/xmlrpc/parser.rb
View on GitHub
# File tmp/rubies/ruby-2.3.8/lib/xmlrpc/parser.rb, line 380
def methodName(node)
nodeMustBe(node, "methodName")
hasOnlyOneChild(node)
text(node.firstChild)
end
No documentation available
lib/xmlrpc/parser.rb
View on GitHub
# File tmp/rubies/ruby-2.3.8/lib/xmlrpc/parser.rb, line 364
def methodResponse(node)
nodeMustBe(node, "methodResponse")
hasOnlyOneChild(node, %w(params fault))
child = node.firstChild
case child.nodeName
when "params"
[ true, params(child,false) ]
when "fault"
[ false, fault(child) ]
else
raise "unexpected error"
end
end
No documentation available
lib/xmlrpc/parser.rb
View on GitHub
# File tmp/rubies/ruby-2.3.8/lib/xmlrpc/parser.rb, line 338
def name(node)
nodeMustBe(node, "name")
#hasOnlyOneChild(node)
text_zero_one(node)
end
No documentation available
lib/xmlrpc/parser.rb
View on GitHub
# File tmp/rubies/ruby-2.3.8/lib/xmlrpc/parser.rb, line 233
def nodeMustBe(node, name)
cmp = case name
when Array
name.include?(node.nodeName)
when String
name == node.nodeName
else
raise "error"
end
if not cmp then
raise "wrong xml-rpc (name)"
end
node
end
No documentation available
lib/xmlrpc/parser.rb
View on GitHub
# File tmp/rubies/ruby-2.3.8/lib/xmlrpc/parser.rb, line 358
def param(node)
nodeMustBe(node, "param")
hasOnlyOneChild(node, "value")
value(node.firstChild)
end
No documentation available
lib/xmlrpc/parser.rb
View on GitHub
# File tmp/rubies/ruby-2.3.8/lib/xmlrpc/parser.rb, line 386
def params(node, call=true)
nodeMustBe(node, "params")
if call
node.childNodes.to_a.collect do |n|
param(n)
end
else # response (only one param)
hasOnlyOneChild(node)
param(node.firstChild)
end
end
No documentation available
lib/xmlrpc/parser.rb
View on GitHub
# File tmp/rubies/ruby-2.3.8/lib/xmlrpc/parser.rb, line 197
def parseMethodCall(str)
methodCall_document(createCleanedTree(str))
end
No documentation available
lib/xmlrpc/parser.rb
View on GitHub
# File tmp/rubies/ruby-2.3.8/lib/xmlrpc/parser.rb, line 193
def parseMethodResponse(str)
methodResponse_document(createCleanedTree(str))
end
No documentation available
lib/xmlrpc/parser.rb
View on GitHub
# File tmp/rubies/ruby-2.3.8/lib/xmlrpc/parser.rb, line 205
def removeWhitespacesAndComments(node)
remove = []
childs = node.childNodes.to_a
childs.each do |nd|
case _nodeType(nd)
when :TEXT
# TODO: add nil?
unless %w(i4 i8 int boolean string double dateTime.iso8601 base64).include? node.nodeName
if node.nodeName == "value"
if not node.childNodes.to_a.detect {|n| _nodeType(n) == :ELEMENT}.nil?
remove << nd if nd.nodeValue.strip == ""
end
else
remove << nd if nd.nodeValue.strip == ""
end
end
when :COMMENT
remove << nd
else
removeWhitespacesAndComments(nd)
end
end
remove.each { |i| node.removeChild(i) }
end
Removes all whitespaces but in the tags i4, i8, int, boolean.… and all comments
lib/xmlrpc/parser.rb
View on GitHub
# File tmp/rubies/ruby-2.3.8/lib/xmlrpc/parser.rb, line 303
def string(node)
nodeMustBe(node, "string")
text_zero_one(node)
end
No documentation available
lib/xmlrpc/parser.rb
View on GitHub
# File tmp/rubies/ruby-2.3.8/lib/xmlrpc/parser.rb, line 417
def struct(node)
nodeMustBe(node, "struct")
hash = {}
node.childNodes.to_a.each do |me|
n, v = member(me)
hash[n] = v
end
Convert.struct(hash)
end
No documentation available
lib/xmlrpc/parser.rb
View on GitHub
# File tmp/rubies/ruby-2.3.8/lib/xmlrpc/parser.rb, line 409
def text(node)
assert( _nodeType(node) == :TEXT )
assert( node.hasChildNodes == false )
assert( node.nodeValue != nil )
node.nodeValue.to_s
end
_nodeType is defined in the subclass
lib/xmlrpc/parser.rb
View on GitHub
# File tmp/rubies/ruby-2.3.8/lib/xmlrpc/parser.rb, line 268
def text_zero_one(node)
nodes = node.childNodes.to_a.size
if nodes == 1
text(node.firstChild)
elsif nodes == 0
""
else
raise "wrong xml-rpc (size)"
end
end
The node ‘node` has empty string or string
lib/xmlrpc/parser.rb
View on GitHub
# File tmp/rubies/ruby-2.3.8/lib/xmlrpc/parser.rb, line 297
def v_nil(node)
nodeMustBe(node, "nil")
assert( node.childNodes.to_a.size == 0 )
nil
end
No documentation available
lib/xmlrpc/parser.rb
View on GitHub
# File tmp/rubies/ruby-2.3.8/lib/xmlrpc/parser.rb, line 430
def value(node)
nodeMustBe(node, "value")
nodes = node.childNodes.to_a.size
if nodes == 0
return ""
elsif nodes > 1
raise "wrong xml-rpc (size)"
end
child = node.firstChild
case _nodeType(child)
when :TEXT
text_zero_one(node)
when :ELEMENT
case child.nodeName
when "i4", "i8", "int" then integer(child)
when "boolean" then boolean(child)
when "string" then string(child)
when "double" then double(child)
when "dateTime.iso8601" then dateTime(child)
when "base64" then base64(child)
when "struct" then struct(child)
when "array" then array(child)
when "nil"
if Config::ENABLE_NIL_PARSER
v_nil(child)
else
raise "wrong/unknown XML-RPC type 'nil'"
end
else
raise "wrong/unknown XML-RPC type"
end
else
raise "wrong type of node"
end
end
No documentation available