| Class | XMLRPC::Create |
| In: |
lib/xmpp4r/rpc/helper/xmlrpcaddons.rb
|
| Parent: | Object |
create a Method Call
| name: | [String] name of the method |
| params: | [Array] params of the method as a array |
# File lib/xmpp4r/rpc/helper/xmlrpcaddons.rb, line 13
13: def methodCall(name, *params)
14: name = name.to_s
15:
16: if name !~ /[a-zA-Z0-9_.:\/]+/
17: raise ArgumentError, "Wrong XML-RPC method-name"
18: end
19:
20: parameter = params.collect { |param|
21: @writer.ele("param", conv2value(param))
22: }
23:
24: tree = @writer.document(
25: @writer.ele("methodCall",
26: @writer.tag("methodName", name),
27: @writer.ele("params", *parameter)
28: )
29: )
30:
31: @writer.document_to_str(tree) + "\n"
32: end
create a response to a method call
| is_ret: | [TrueClass] is this a return (true) or a error (false) |
| params: | [Array] a array of params |
# File lib/xmpp4r/rpc/helper/xmlrpcaddons.rb, line 38
38: def methodResponse(is_ret, *params)
39:
40: if is_ret
41: resp = params.collect do |param|
42: @writer.ele("param", conv2value(param))
43: end
44:
45: resp = [@writer.ele("params", *resp)]
46: else
47: if params.size != 1 or params[0] === XMLRPC::FaultException
48: raise ArgumentError, "no valid fault-structure given"
49: end
50: resp = @writer.ele("fault", conv2value(params[0].to_h))
51: end
52:
53: tree = @writer.document(@writer.ele("methodResponse", resp))
54: @writer.document_to_str(tree) + "\n"
55: end