Class: XMLRPC::Create

Class | XMLRPC::Create
In: | lib/xmpp4r/rpc/helper/xmlrpcaddons.rb
Parent: | Object

### Methods

methodCall methodResponse

### Public Instance methods

methodCall(name, *params)

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 18
    18:     def methodCall(name, *params)
    19:       name = name.to_s
    20:
    21:       if name !~ /[a-zA-Z0-9_.:\/]+/
    22:         raise ArgumentError, "Wrong XML-RPC method-name"
    23:       end
    24:
    25:       parameter = params.collect { |param|
    26:         @writer.ele("param", conv2value(param))
    27:       }
    28:
    29:       tree = @writer.document(
    30:                @writer.ele("methodCall",
    31:                  @writer.tag("methodName", name),
    32:                  @writer.ele("params", *parameter)
    33:                )
    34:              )
    35:
    36:       @writer.document_to_str(tree) + "\n"
    37:     end

methodResponse(is_ret, *params)

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 43
    43:     def methodResponse(is_ret, *params)
    44:
    45:       if is_ret
    46:         begin
    47:           resp = params.collect do |param|
    48:             @writer.ele("param", conv2value(param))
    49:           end
    50:
    51:           resp = [@writer.ele("params", *resp)]
    52:         rescue Exception => e
    53:           error = XMLRPC::FaultException.new(XMLRPC::BasicServer::ERR_UNCAUGHT_EXCEPTION, "Uncaught exception '#{e.message}' serialising params into response")
    54:           resp = @writer.ele("fault", conv2value(error.to_h))
    55:         end
    56:       else
    57:         if params.size != 1 or params[0] === XMLRPC::FaultException
    58:           raise ArgumentError, "no valid fault-structure given"
    59:         end
    60:         resp = @writer.ele("fault", conv2value(params[0].to_h))
    61:       end
    62:
    63:       tree = @writer.document(@writer.ele("methodResponse", resp))
    64:       @writer.document_to_str(tree) + "\n"
    65:     end

[Validate]