# File lib/wsdl/soap/wsdl2ruby.rb, line 47 47: def initialize 48: @modulepath = nil 49: @location = nil 50: @opt = {} 51: @logger = Logger.new(STDERR) 52: @basedir = nil 53: @wsdl = nil 54: @name = nil 55: @classdef_filename = nil 56: @mr_filename = nil 57: @name_creator = ClassNameCreator.new 58: end
# File lib/wsdl/soap/wsdl2ruby.rb, line 32 32: def run 33: unless @location 34: raise RuntimeError, "WSDL location not given" 35: end 36: @wsdl = import(@location) 37: if @opt['classdef'] 38: @name = @opt['classdef'] 39: else 40: @name = @wsdl.name ? @wsdl.name.name : 'default' 41: end 42: create_file 43: end
# File lib/wsdl/soap/wsdl2ruby.rb, line 175 175: def check_file(filename) 176: if @basedir 177: filename = File.join(basedir, filename) 178: end 179: if FileTest.exist?(filename) 180: if @opt.key?('force') 181: @logger.warn { 182: "File '#{filename}' exists but overrides it." 183: } 184: true 185: else 186: @logger.warn { 187: "File '#{filename}' exists. #{$0} did not override it." 188: } 189: false 190: end 191: else 192: @logger.info { "Creates file '#{filename}'." } 193: true 194: end 195: end
# File lib/wsdl/soap/wsdl2ruby.rb, line 114 114: def create_cgi_stub(servicename) 115: @logger.info { "Creating CGI stub." } 116: servicename ||= @wsdl.services[0].name.name 117: @cgi_stubFilename = servicename + '.cgi' 118: check_file(@cgi_stubFilename) or return 119: write_file(@cgi_stubFilename) do |f| 120: f << shbang << "\n" 121: f << "require '#{@servant_skelton_filename}'\n" if @servant_skelton_filename 122: f << "require '#{@mr_filename}'\n" if @mr_filename 123: f << WSDL::SOAP::CGIStubCreator.new(@wsdl, @name_creator, @modulepath).dump(create_name(servicename)) 124: end 125: end
# File lib/wsdl/soap/wsdl2ruby.rb, line 72 72: def create_classdef 73: @logger.info { "Creating class definition." } 74: @classdef_filename = @name + '.rb' 75: check_file(@classdef_filename) or return 76: write_file(@classdef_filename) do |f| 77: f << WSDL::SOAP::ClassDefCreator.new(@wsdl, @name_creator, @modulepath).dump 78: end 79: end
# File lib/wsdl/soap/wsdl2ruby.rb, line 91 91: def create_client_skelton(servicename) 92: return if @wsdl.services.empty? 93: @logger.info { "Creating client skelton." } 94: servicename ||= @wsdl.services[0].name.name 95: @client_skelton_filename = servicename + 'Client.rb' 96: check_file(@client_skelton_filename) or return 97: write_file(@client_skelton_filename) do |f| 98: f << shbang << "\n" 99: f << "require '#{@driver_filename}'\n\n" if @driver_filename 100: f << WSDL::SOAP::ClientSkeltonCreator.new(@wsdl, @name_creator, @modulepath).dump(create_name(servicename)) 101: end 102: end
# File lib/wsdl/soap/wsdl2ruby.rb, line 153 153: def create_driver(porttypename, drivername_postfix) 154: @logger.info { "Creating driver." } 155: @driver_filename = (porttypename || @name) + 'Driver.rb' 156: creator = WSDL::SOAP::DriverCreator.new(@wsdl, @name_creator, @modulepath) 157: creator.drivername_postfix = drivername_postfix 158: check_file(@driver_filename) or return 159: write_file(@driver_filename) do |f| 160: f << "require '#{@classdef_filename}'\n" if @classdef_filename 161: f << "require '#{@mr_filename}'\n" if @mr_filename 162: f << creator.dump(create_name(porttypename)) 163: end 164: end
# File lib/wsdl/soap/wsdl2ruby.rb, line 60 60: def create_file 61: @modulepath = @opt['module_path'] 62: create_classdef if @opt.key?('classdef') 63: create_mapping_registry if @opt.key?('mapping_registry') 64: create_servant_skelton(@opt['servant_skelton']) if @opt.key?('servant_skelton') 65: create_cgi_stub(@opt['cgi_stub']) if @opt.key?('cgi_stub') 66: create_standalone_server_stub(@opt['standalone_server_stub']) if @opt.key?('standalone_server_stub') 67: create_servlet_stub(@opt['servlet_stub']) if @opt.key?('servlet_stub') 68: create_driver(@opt['driver'], @opt['drivername_postfix'] || '') if @opt.key?('driver') 69: create_client_skelton(@opt['client_skelton']) if @opt.key?('client_skelton') 70: end
# File lib/wsdl/soap/wsdl2ruby.rb, line 81 81: def create_mapping_registry 82: @logger.info { "Creating mapping registry definition." } 83: @mr_filename = @name + 'MappingRegistry.rb' 84: check_file(@mr_filename) or return 85: write_file(@mr_filename) do |f| 86: f << "require '#{@classdef_filename}'\n" if @classdef_filename 87: f << WSDL::SOAP::MappingRegistryCreator.new(@wsdl, @name_creator, @modulepath).dump 88: end 89: end
# File lib/wsdl/soap/wsdl2ruby.rb, line 201 201: def create_name(name) 202: name ? XSD::QName.new(@wsdl.targetnamespace, name) : nil 203: end
# File lib/wsdl/soap/wsdl2ruby.rb, line 104 104: def create_servant_skelton(porttypename) 105: @logger.info { "Creating servant skelton." } 106: @servant_skelton_filename = (porttypename || @name + 'Servant') + '.rb' 107: check_file(@servant_skelton_filename) or return 108: write_file(@servant_skelton_filename) do |f| 109: f << "require '#{@classdef_filename}'\n\n" if @classdef_filename 110: f << WSDL::SOAP::ServantSkeltonCreator.new(@wsdl, @name_creator, @modulepath).dump(create_name(porttypename)) 111: end 112: end
# File lib/wsdl/soap/wsdl2ruby.rb, line 140 140: def create_servlet_stub(servicename) 141: @logger.info { "Creating servlet stub." } 142: servicename ||= @wsdl.services[0].name.name 143: @servlet_stub_filename = servicename + 'Servlet.rb' 144: check_file(@servlet_stub_filename) or return 145: write_file(@servlet_stub_filename) do |f| 146: f << shbang << "\n" 147: f << "require '#{@servant_skelton_filename}'\n" if @servant_skelton_filename 148: f << "require '#{@mr_filename}'\n" if @mr_filename 149: f << WSDL::SOAP::ServletStubCreator.new(@wsdl, @name_creator, @modulepath).dump(create_name(servicename)) 150: end 151: end
# File lib/wsdl/soap/wsdl2ruby.rb, line 127 127: def create_standalone_server_stub(servicename) 128: @logger.info { "Creating standalone stub." } 129: servicename ||= @wsdl.services[0].name.name 130: @standalone_server_stub_filename = servicename + '.rb' 131: check_file(@standalone_server_stub_filename) or return 132: write_file(@standalone_server_stub_filename) do |f| 133: f << shbang << "\n" 134: f << "require '#{@servant_skelton_filename}'\n" if @servant_skelton_filename 135: f << "require '#{@mr_filename}'\n" if @mr_filename 136: f << WSDL::SOAP::StandaloneServerStubCreator.new(@wsdl, @name_creator, @modulepath).dump(create_name(servicename)) 137: end 138: end
# File lib/wsdl/soap/wsdl2ruby.rb, line 205 205: def import(location) 206: WSDL::Importer.import(location) 207: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.