Class: XMLRPC::Service::BasicInterface
Relationships & Source Files | |
Extension / Inclusion / Inheritance Descendants | |
Subclasses:
|
|
Inherits: | Object |
Defined in: | lib/xmlrpc/utils.rb |
Overview
Base class for Interface definitions, used by BasicServer#add_handler
Class Method Summary
- .new(prefix) ⇒ BasicInterface constructor
Instance Attribute Summary
Instance Method Summary
Constructor Details
.new(prefix) ⇒ BasicInterface
Instance Attribute Details
#methods (readonly)
[ GitHub ]# File 'lib/xmlrpc/utils.rb', line 70
attr_reader :prefix, :methods
#prefix (readonly)
[ GitHub ]# File 'lib/xmlrpc/utils.rb', line 70
attr_reader :prefix, :methods
Instance Method Details
#add_method(sig, help = nil, meth_name = nil)
[ GitHub ]# 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
#parse_sig(sig) (private)
[ GitHub ]# 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