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