class WsdlMapper::DomGeneration::DefaultValueDefaultsGenerator
Public Class Methods
new(generator)
click to toggle source
# File lib/wsdl_mapper/dom_generation/default_value_defaults_generator.rb, line 4 def initialize(generator) @generator = generator end
Public Instance Methods
generate_for_attribute(attribute)
click to toggle source
# 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
generate_for_property(property)
click to toggle source
# 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
Protected Instance Methods
builtin?(type)
click to toggle source
# File lib/wsdl_mapper/dom_generation/default_value_defaults_generator.rb, line 46 def builtin?(type) return false unless type.name type.name.ns == WsdlMapper::Dom::BuiltinType::NAMESPACE end