method
dump_porttype
ruby latest stable - Class:
WSDL::SOAP::CGIStubCreator
dump_porttype(name)private
No documentation available.
# File lib/wsdl/soap/cgiStubCreator.rb, line 36
def dump_porttype(name)
class_name = create_class_name(name)
methoddef, types = MethodDefCreator.new(@definitions).dump(name)
mr_creator = MappingRegistryCreator.new(@definitions)
c1 = XSD::CodeGen::ClassDef.new(class_name)
c1.def_require("soap/rpc/cgistub")
c1.def_require("soap/mapping/registry")
c1.def_const("MappingRegistry", "::SOAP::Mapping::Registry.new")
c1.def_code(mr_creator.dump(types))
c1.def_code "Methods = [\n\#{methoddef.gsub(/^/, \" \")}\n]\n"
c2 = XSD::CodeGen::ClassDef.new(class_name + "App",
"::SOAP::RPC::CGIStub")
c2.def_method("initialize", "*arg") do
"super(*arg)\nservant = \#{class_name}.new\n\#{class_name}::Methods.each do |definitions|\nopt = definitions.last\nif opt[:request_style] == :document\n@router.add_document_operation(servant, *definitions)\nelse\n@router.add_rpc_operation(servant, *definitions)\nend\nend\nself.mapping_registry = \#{class_name}::MappingRegistry\nself.level = Logger::Severity::ERROR\n"
end
c1.dump + "\n" + c2.dump + format("\#{class_name}App.new('app', nil).start\n")
end