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

#initialize(generator) ⇒ DefaultCtrGenerator

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

#generate(ttg, f, _result) ⇒ Object



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

#generate_simple(ttg, f, _result) ⇒ Object



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

#generate_wrapping(_ttg, f, _result, var_name, par_name) ⇒ Object



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