Class: WSDL::SOAP::MappingRegistryCreator

Inherits:
Object
  • Object
show all
Includes:
ClassDefCreatorSupport
Defined in:
lib/wsdl/soap/mappingRegistryCreator.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from ClassDefCreatorSupport

#assign_const, #basetype_mapped_class, #create_type_name, #dq, #dqname, #dump_method_signature, #mapped_class_basename, #mapped_class_name, #ndq, #nsym, #sym

Methods included from XSD::CodeGen::GenSupport

capitalize, constant?, #format, keyword?, safeconstname, safeconstname?, safemethodname, safemethodname?, safevarname, safevarname?, uncapitalize

Constructor Details

#initialize(definitions, name_creator, modulepath = nil) ⇒ MappingRegistryCreator

Returns a new instance of MappingRegistryCreator


25
26
27
28
29
# File 'lib/wsdl/soap/mappingRegistryCreator.rb', line 25

def initialize(definitions, name_creator, modulepath = nil)
  @definitions = definitions
  @name_creator = name_creator
  @modulepath = modulepath
end

Instance Attribute Details

#definitionsObject (readonly)

Returns the value of attribute definitions


23
24
25
# File 'lib/wsdl/soap/mappingRegistryCreator.rb', line 23

def definitions
  @definitions
end

Instance Method Details

#dumpObject


31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/wsdl/soap/mappingRegistryCreator.rb', line 31

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