Class: WsdlMapper::Generation::Result

Inherits:
Object
  • Object
show all
Defined in:
lib/wsdl_mapper/generation/result.rb

Defined Under Namespace

Classes: ModuleTreeNode

Instance Attribute Summary (collapse)

Class Method Summary (collapse)

Instance Method Summary (collapse)

Constructor Details

- (Result) initialize(schema: nil, description: nil)

Returns a new instance of Result



19
20
21
22
23
24
25
# 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

Instance Attribute Details

- (Object) description (readonly)

Returns the value of attribute description



17
18
19
# File 'lib/wsdl_mapper/generation/result.rb', line 17

def description
  @description
end

- (Object) files (readonly)

Returns the value of attribute files



17
18
19
# File 'lib/wsdl_mapper/generation/result.rb', line 17

def files
  @files
end

- (Object) module_tree (readonly)

Returns the value of attribute module_tree



17
18
19
# File 'lib/wsdl_mapper/generation/result.rb', line 17

def module_tree
  @module_tree
end

- (Object) schema (readonly)

Returns the value of attribute schema



17
18
19
# File 'lib/wsdl_mapper/generation/result.rb', line 17

def schema
  @schema
end

- (Object) type_names (readonly)

Returns the value of attribute type_names



17
18
19
# File 'lib/wsdl_mapper/generation/result.rb', line 17

def type_names
  @type_names
end

Class Method Details

+ (Object) merge(result, *results)



46
47
48
49
50
51
52
53
54
55
56
57
# 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

Instance Method Details

- (Object) add_type(type_name)



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# 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