module SOAP::MultiService class Services @version_services = {} def self.getVersions @version_services.keys end def self.getServices(version) @version_services[version] end def self.requireDrivers(version, options={}) getServices(version).each do |servicename| requireDriver(servicename, version, options) end end def self.requireDriver(service, version, options={}) raise NotImplementedError.new( 'method requireDriver must be implemented by a subclass') end def self.makeMethodMap(drivers) methodMap = Hash.new drivers.each do |d| d.class::Methods.each {|m| methodMap[m[1]] = d} end methodMap end end end