Parent

Files

Class Index [+]

Quicksearch

WSDL::SOAP::WSDL2Ruby

Attributes

location[RW]
opt[R]
logger[RW]
basedir[RW]

Public Class Methods

new() click to toggle source
    # 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

Public Instance Methods

run() click to toggle source
    # 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

Private Instance Methods

check_file(filename) click to toggle source
     # 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
create_cgi_stub(servicename) click to toggle source
     # 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
create_classdef() click to toggle source
    # 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
create_client_skelton(servicename) click to toggle source
     # 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
create_driver(porttypename, drivername_postfix) click to toggle source
     # 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
create_file() click to toggle source
    # 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
create_mapping_registry() click to toggle source
    # 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
create_name(name) click to toggle source
     # File lib/wsdl/soap/wsdl2ruby.rb, line 201
201:   def create_name(name)
202:     name ? XSD::QName.new(@wsdl.targetnamespace, name) : nil
203:   end
create_servant_skelton(porttypename) click to toggle source
     # 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
create_servlet_stub(servicename) click to toggle source
     # 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
create_standalone_server_stub(servicename) click to toggle source
     # 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
import(location) click to toggle source
     # File lib/wsdl/soap/wsdl2ruby.rb, line 205
205:   def import(location)
206:     WSDL::Importer.import(location)
207:   end
shbang() click to toggle source
     # File lib/wsdl/soap/wsdl2ruby.rb, line 197
197:   def shbang
198:     "#!/usr/bin/env ruby"
199:   end
write_file(filename) click to toggle source
     # File lib/wsdl/soap/wsdl2ruby.rb, line 166
166:   def write_file(filename)
167:     if @basedir
168:       filename = File.join(basedir, filename)
169:     end
170:     File.open(filename, "w") do |f|
171:       yield f
172:     end
173:   end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.