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

#basetype_mapped_class, #create_class_name, #dq, #dqname, #dump_method_signature, #ndq, #nsym, #sym

Methods included from XSD::CodeGen::GenSupport

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

Constructor Details

#initialize(definitions, modulepath = nil) ⇒ MappingRegistryCreator

Returns a new instance of MappingRegistryCreator.



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

def initialize(definitions, modulepath = nil)
  @definitions = definitions
  @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



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

def dump
  encoded_creator = EncodedMappingRegistryCreator.new(@definitions, @modulepath)
  literal_creator = LiteralMappingRegistryCreator.new(@definitions, @modulepath)
  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'
  methodname = 'define_encoded_mapping'
  m.def_const(varname, '::SOAP::Mapping::EncodedRegistry.new')
  m.def_code(encoded_creator.dump(varname))
  varname = 'LiteralRegistry'
  methodname = 'define_literal_mapping'
  m.def_const(varname, '::SOAP::Mapping::LiteralRegistry.new')
  m.def_code(literal_creator.dump(varname))
  m.dump
end