class XMLRPC::Service::BasicInterface
Base class for XMLRPC::Service::Interface definitions, used by XMLRPC::BasicServer#add_handler
Attributes
methods[R]
prefix[R]
Public Class Methods
new(prefix)
click to toggle source
# File lib/xmlrpc/utils.rb, line 72 def initialize(prefix) @prefix = prefix @methods = [] end
Public Instance Methods
add_method(sig, help=nil, meth_name=nil)
click to toggle source
# File lib/xmlrpc/utils.rb, line 77 def add_method(sig, help=nil, meth_name=nil) mname = nil sig = [sig] if sig.kind_of? String sig = sig.collect do |s| name, si = parse_sig(s) raise "Wrong signatures!" if mname != nil and name != mname mname = name si end @methods << [mname, meth_name || mname, sig, help] end
Private Instance Methods
parse_sig(sig)
click to toggle source
# File lib/xmlrpc/utils.rb, line 93 def parse_sig(sig) # sig is a String if sig =~ /^\s*(\w+)\s+([^(]+)(\(([^)]*)\))?\s*$/ params = [$1] name = $2.strip $4.split(",").each {|i| params << i.strip} if $4 != nil return name, params else raise "Syntax error in signature" end end