Class: WsdlMapper::DomGeneration::DefaultCtrGenerator

Inherits:
Object
  • Object
show all
Defined in:
lib/wsdl_mapper/dom_generation/default_ctr_generator.rb

Direct Known Subclasses

DocumentedCtrGenerator

Instance Method Summary (collapse)

Constructor Details

- (DefaultCtrGenerator) initialize(generator)

Returns a new instance of DefaultCtrGenerator



6
7
8
# File 'lib/wsdl_mapper/dom_generation/default_ctr_generator.rb', line 6

def initialize(generator)
  @generator = generator
end

Instance Method Details

- (Object) generate(ttg, f, result)



10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/wsdl_mapper/dom_generation/default_ctr_generator.rb', line 10

def generate(ttg, f, result)
  props = ttg.type.each_property.to_a
  attrs = ttg.type.each_attribute.to_a

  base_props, base_attrs = get_base_props(ttg.type), get_base_attrs(ttg.type)

  f.in_def 'initialize', *get_prop_kw_args((props + base_props).uniq(&:name)), *get_attr_kw_args((attrs + base_attrs).uniq(&:name)) do
    if ttg.type.base
      f.call :super, *get_prop_kw_assigns(base_props), *get_attr_kw_assigns(base_attrs)
    end
    f.assignments *get_prop_assigns(props)
    f.assignments *get_attr_assigns(attrs)
  end
end

- (Object) generate_simple(ttg, f, result)



25
26
27
28
29
30
31
32
33
# File 'lib/wsdl_mapper/dom_generation/default_ctr_generator.rb', line 25

def generate_simple(ttg, f, result)
  attrs = ttg.type.each_attribute
  content_name = @generator.namer.get_content_name ttg.type

  f.in_def 'initialize', content_name.attr_name, *get_attr_kw_args(attrs) do
    f.assignments [content_name.var_name, content_name.attr_name]
    f.assignments *get_attr_assigns(attrs)
  end
end

- (Object) generate_wrapping(ttg, f, result, var_name, par_name)



35
36
37
38
39
# File 'lib/wsdl_mapper/dom_generation/default_ctr_generator.rb', line 35

def generate_wrapping(ttg, f, result, var_name, par_name)
  f.in_def 'initialize', par_name do
    f.assignment var_name, par_name
  end
end