class WsdlMapper::Generation::Result

Attributes

description[R]
files[R]
module_tree[R]
schema[R]
type_names[R]

Public Class Methods

merge(result, *results) click to toggle source
# File lib/wsdl_mapper/generation/result.rb, line 46
def merge(result, *results)
  res = new schema: result.schema, description: result.description
  results.each do |r|
    r.type_names.each do |type_name|
      res.add_type type_name
    end
    r.files.each do |f|
      res.files << f
    end
  end
  res
end
new(schema: nil, description: nil) click to toggle source
# File lib/wsdl_mapper/generation/result.rb, line 19
def initialize(schema: nil, description: nil)
  @files = []
  @module_tree = []
  @type_names = []
  @description = description
  @schema = schema
end

Public Instance Methods

add_type(type_name) click to toggle source
# File lib/wsdl_mapper/generation/result.rb, line 27
def add_type(type_name)
  @type_names << type_name
  modules = type_name.parents.reverse

  children = @module_tree
  modules.each do |mod|
    node = children.find { |n| n.type_name == mod }
    unless node
      node = ModuleTreeNode.new mod
      children << node
    end
    children = node.children
  end
  node = ModuleTreeNode.new type_name
  children << node
  self
end