Class XMLRPC::Create
In: lib/xmpp4r/rpc/helper/xmlrpcaddons.rb
Parent: Object
Create lib/xmpp4r/rpc/helper/xmlrpcaddons.rb XMLRPC dot/m_26_0.png

Methods

Public Instance methods

create a Method Call

name:[String] name of the method
params:[Array] params of the method as a array

[Source]

    # 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

[Source]

    # 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

[Validate]