class WSDL::SOAP::LiteralMappingRegistryCreator

Public Class Methods

new(definitions, name_creator, modulepath, defined_const) click to toggle source
# File lib/wsdl/soap/literalMappingRegistryCreator.rb, line 21
def initialize(definitions, name_creator, modulepath, defined_const)
  @definitions = definitions
  @name_creator = name_creator
  @modulepath = modulepath
  @elements = definitions.collect_elements
  @elements.uniq!
  @attributes = definitions.collect_attributes
  @attributes.uniq!
  @simpletypes = definitions.collect_simpletypes
  @simpletypes.uniq!
  @complextypes = definitions.collect_complextypes
  @complextypes.uniq!
  @varname = nil
  @defined_const = defined_const
end

Public Instance Methods

dump(varname) click to toggle source
# File lib/wsdl/soap/literalMappingRegistryCreator.rb, line 37
def dump(varname)
  @varname = varname
  result = ''
  str = dump_complextype
  unless str.empty?
    result << "\n" unless result.empty?
    result << str
  end
  str = dump_simpletype
  unless str.empty?
    result << "\n" unless result.empty?
    result << str
  end
  str = dump_element
  unless str.empty?
    result << "\n" unless result.empty?
    result << str
  end
  str = dump_attribute
  unless str.empty?
    result << "\n" unless result.empty?
    result << str
  end
  result
end

Private Instance Methods

dump_attribute() click to toggle source
# File lib/wsdl/soap/literalMappingRegistryCreator.rb, line 85
def dump_attribute
  @attributes.collect { |attr|
    if attr.local_simpletype
      dump_with_inner {
        dump_simpletypedef(@modulepath, attr.name, attr.local_simpletype)
      }
    end
  }.compact.join("\n")
end
dump_complextype() click to toggle source
# File lib/wsdl/soap/literalMappingRegistryCreator.rb, line 103
def dump_complextype
  @complextypes.collect { |type|
    unless type.abstract
      dump_with_inner {
        dump_complextypedef(@modulepath, type.name, type)
      }
    end
  }.compact.join("\n")
end
dump_element() click to toggle source
# File lib/wsdl/soap/literalMappingRegistryCreator.rb, line 65
def dump_element
  @elements.collect { |ele|
    # has the definition different from the complexType of the same name
    next if ele.type.nil? and @complextypes[ele.name]
    dump_with_inner {
      if typedef = ele.local_complextype
        dump_complextypedef(@modulepath, ele.name, typedef)
      elsif typedef = ele.local_simpletype
        dump_simpletypedef(@modulepath, ele.name, typedef)
      elsif ele.type
        if typedef = @complextypes[ele.type]
          dump_complextypedef(@modulepath, ele.type, typedef, ele.name)
        elsif typedef = @simpletypes[ele.type]
          dump_simpletypedef(@modulepath, ele.type, typedef, ele.name)
        end
      end
    }
  }.compact.join("\n")
end
dump_simpletype() click to toggle source
# File lib/wsdl/soap/literalMappingRegistryCreator.rb, line 95
def dump_simpletype
  @simpletypes.collect { |type|
    dump_with_inner {
      dump_simpletypedef(@modulepath, type.name, type)
    }
  }.compact.join("\n")
end