class WSDL::SOAP::MappingRegistryCreator

Attributes

definitions[R]

Public Class Methods

new(definitions, name_creator, modulepath = nil) click to toggle source
# File lib/wsdl/soap/mappingRegistryCreator.rb, line 26
def initialize(definitions, name_creator, modulepath = nil)
  @definitions = definitions
  @name_creator = name_creator
  @modulepath = modulepath
end

Public Instance Methods

dump() click to toggle source
# File lib/wsdl/soap/mappingRegistryCreator.rb, line 32
def dump
  defined_const = {}
  encoded_creator = EncodedMappingRegistryCreator.new(@definitions, @name_creator, @modulepath, defined_const)
  literal_creator = LiteralMappingRegistryCreator.new(@definitions, @name_creator, @modulepath, defined_const)
  wsdl_name = @definitions.name ? @definitions.name.name : 'default'
  module_name = safeconstname(wsdl_name + 'MappingRegistry')
  if @modulepath
    module_name = [@modulepath, module_name].join('::')
  end
  m = XSD::CodeGen::ModuleDef.new(module_name)
  m.def_require("soap/mapping")
  varname = 'EncodedRegistry'
  m.def_const(varname, '::SOAP::Mapping::EncodedRegistry.new')
  m.def_code(encoded_creator.dump(varname))
  varname = 'LiteralRegistry'
  m.def_const(varname, '::SOAP::Mapping::LiteralRegistry.new')
  m.def_code(literal_creator.dump(varname))
  #
  defined_const.each do |ns, tag|
    m.def_const(tag, dq(ns))
  end
  m.dump
end