Methods
- A
- B
- D
- F
- H
- I
- M
- N
- P
- R
- S
- T
- V
Instance Public methods
parseMethodCall(str)
Link
parseMethodResponse(str)
Link
Instance Private methods
array(node)
Link
assert(b)
Link
base64(node)
Link
boolean(node)
Link
data(node)
Link
dateTime(node)
Link
double(node)
Link
fault(node)
Link
hasOnlyOneChild(node, name=nil)
Link
returns, when successfully the only child-node
integer(node)
Link
member(node)
Link
methodCall(node)
Link
# File ../ruby/lib/xmlrpc/parser.rb, line 441 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
methodName(node)
Link
methodResponse(node)
Link
# File ../ruby/lib/xmlrpc/parser.rb, line 336 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
name(node)
Link
nodeMustBe(node, name)
Link
param(node)
Link
params(node, call=true)
Link
removeWhitespacesAndComments(node)
Link
remove all whitespaces but in the tags i4, int, boolean.… and all comments
# File ../ruby/lib/xmlrpc/parser.rb, line 175 def removeWhitespacesAndComments(node) remove = [] childs = node.childNodes.to_a childs.each do |nd| case _nodeType(nd) when :TEXT # TODO: add nil? unless %w(i4 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
string(node)
Link
struct(node)
Link
text(node)
Link
_nodeType is defined in the subclass
text_zero_one(node)
Link
the node `node` has empty string or string
v_nil(node)
Link
value(node)
Link
# File ../ruby/lib/xmlrpc/parser.rb, line 402 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", "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