base class for Service Interface definitions, used by XMLRPC::BasicServer#add_handler

Methods
A
N
P
Attributes
[R] methods
[R] prefix
Class Public methods
new(prefix)
# File ../ruby/lib/xmlrpc/utils.rb, line 66
def initialize(prefix)
  @prefix = prefix
  @methods = []
end
Instance Public methods
add_method(sig, help=nil, meth_name=nil)
# File ../ruby/lib/xmlrpc/utils.rb, line 71
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
Instance Private methods
parse_sig(sig)
# File ../ruby/lib/xmlrpc/utils.rb, line 87
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