class WsdlMapper::Generation::Base

@abstract

Attributes

logger[R]

Public Class Methods

new(context) click to toggle source
# File lib/wsdl_mapper/generation/base.rb, line 10
def initialize(context)
  @context = context
  @logger = Logging.logger[self]
end

Public Instance Methods

append_file_for(type_name, result, &block) click to toggle source
# File lib/wsdl_mapper/generation/base.rb, line 40
def append_file_for(type_name, result, &block)
  file_name = @context.path_for type_name
  file file_name, result, mode: 'a', &block
end
file(file_name, result, mode: 'w') { |f| ... } click to toggle source
# File lib/wsdl_mapper/generation/base.rb, line 51
def file(file_name, result, mode: 'w')
  File.open file_name, mode do |io|
    f = get_formatter io
    yield f
  end

  result.files << file_name
end
file_for(type_name, result, &block) click to toggle source
# File lib/wsdl_mapper/generation/base.rb, line 35
def file_for(type_name, result, &block)
  file_name = @context.path_for type_name
  file file_name, result, &block
end
generate_name(name, suffix = '') click to toggle source
# File lib/wsdl_mapper/generation/base.rb, line 15
def generate_name(name, suffix = '')
  return 'nil' if name.nil?

  ns = name.ns.inspect
  local_name = (name.name + suffix).inspect


  "[#{ns}, #{local_name}]"
end
get_formatter(io) click to toggle source
# File lib/wsdl_mapper/generation/base.rb, line 60
def get_formatter(io)
  @formatter_factory.new io
end
get_module_names(type) click to toggle source
# File lib/wsdl_mapper/generation/base.rb, line 64
def get_module_names(type)
  type.parents.reverse.map(&:module_name)
end
get_type_name(type) click to toggle source
# File lib/wsdl_mapper/generation/base.rb, line 25
def get_type_name(type)
  if type.name
    type
  elsif type.containing_element
    @namer.get_inline_type type.containing_element
  elsif type.containing_property
    @namer.get_inline_type type.containing_property
  end
end
type_file_for(type_name, result, &block) click to toggle source

@yieldparam [WsdlMapper::Generation::AbstractFormatter]

# File lib/wsdl_mapper/generation/base.rb, line 46
def type_file_for(type_name, result, &block)
  file_for type_name, result, &block
  result.add_type type_name
end