Class: WsdlMapper::DomGeneration::DefaultValueDefaultsGenerator

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

Instance Method Summary (collapse)

Constructor Details

- (DefaultValueDefaultsGenerator) initialize(generator)

Returns a new instance of DefaultValueDefaultsGenerator



4
5
6
# File 'lib/wsdl_mapper/dom_generation/default_value_defaults_generator.rb', line 4

def initialize(generator)
  @generator = generator
end

Instance Method Details

- (Object) generate_for_attribute(attribute)



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

def generate_for_attribute(attribute)
  if attribute.default?
    xml_val = attribute.default
    return @generator.value_generator.generate_nil unless xml_val

    ruby_val = @generator.type_mapping.to_ruby attribute.type_name, xml_val
    @generator.value_generator.generate ruby_val
  elsif attribute.fixed?
    xml_val = attribute.fixed

    ruby_val = @generator.type_mapping.to_ruby attribute.type_name, xml_val
    @generator.value_generator.generate ruby_val
  else
    @generator.value_generator.generate_nil
  end
end

- (Object) generate_for_property(property)



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/wsdl_mapper/dom_generation/default_value_defaults_generator.rb', line 25

def generate_for_property(property)
  if property.default? && !property.array?
    xml_val = property.default
    return @generator.value_generator.generate_nil unless xml_val

    ruby_val = @generator.type_mapping.to_ruby property.type_name, xml_val
    @generator.value_generator.generate ruby_val
  elsif property.array? && !property.default?
    @generator.value_generator.generate_empty_array
  elsif property.single? && !builtin?(property.type)
    name = @generator.namer.get_type_name @generator.get_type_name property.type
    "#{name.name}.new"
  else
    @generator.value_generator.generate_nil
  end
  # TODO: what about array type properties with defaults?
  # TODO: fixed values
  # TODO: simple types extensions/restrictions of builtin types
end