Class: WsdlMapper::Naming::DefaultNamer

Inherits:
NamerBase
  • Object
show all
Includes:
Dom
Defined in:
lib/wsdl_mapper/naming/default_namer.rb

Overview

This is the default Namer implementation. It provides the de-facto standard of organizing and naming classes in ruby:

  1. Class/Module names are CamelCase (e.g. SomeType)
  2. File names are under_score (e.g. some_type.rb)
  3. Each class in its own file
  4. (De)Serializers are put within the same module as XSD Types

Direct Known Subclasses

SeparatingNamer

Defined Under Namespace

Classes: InlineType

Constant Summary

Constant Summary

Constants inherited from NamerBase

NamerBase::KEYWORDS

Constants included from Inflector

Inflector::CAPITALS, Inflector::DOWN_FOLLOWED_BY_UP, Inflector::FIRST_CHAR, Inflector::NON_AN, Inflector::NON_WORD, Inflector::NON_WORD_FOLLOWED_BY_WORD

Instance Attribute Summary

Attributes inherited from NamerBase

#module_path

Instance Method Summary (collapse)

Methods included from Inflector

#camelize, #underscore

Constructor Details

- (DefaultNamer) initialize(module_path: [], content_attribute_name: 'content', soap_array_item_name: 'item')

Initializes a new WsdlMapper::Naming::DefaultNamer instance.

Parameters:

  • module_path (Array<String>)

    the root module for the generated classes, e.g. ['MyApi', 'Types'] => MyApi::Types::SomeClass in my_api/types/some_class.rb

  • content_attribute_name (String)

    the accessor name for wrapping types (complex type with simple content and simple types with restrictions)



28
29
30
31
32
33
34
35
# File 'lib/wsdl_mapper/naming/default_namer.rb', line 28

def initialize(module_path: [],
    content_attribute_name: 'content',
    soap_array_item_name: 'item')
  super module_path: module_path

  @content_attribute_name = content_attribute_name
  @soap_array_item_name = soap_array_item_name
end

Instance Method Details

- (PropertyName) get_attribute_name(attribute)

Parameters:

Returns:



99
100
101
# File 'lib/wsdl_mapper/naming/default_namer.rb', line 99

def get_attribute_name(attribute)
  PropertyName.new get_accessor_name(attribute.name.name), get_var_name(attribute.name.name)
end

- (PropertyName) get_content_name(type)



112
113
114
# File 'lib/wsdl_mapper/naming/default_namer.rb', line 112

def get_content_name(type)
  @content_name ||= PropertyName.new get_accessor_name(@content_attribute_name), get_var_name(@content_attribute_name)
end

- (Object) get_d10r_element_directory_name



67
68
69
# File 'lib/wsdl_mapper/naming/default_namer.rb', line 67

def get_d10r_element_directory_name
  get_support_name 'D10rElementDirectory'
end

- (TypeName) get_d10r_name(type)



85
86
87
88
89
# File 'lib/wsdl_mapper/naming/default_namer.rb', line 85

def get_d10r_name(type)
  type_name = TypeName.new get_d10r_class_name(type), get_d10r_module_path(type), get_d10r_file_name(type), get_d10r_file_path(type)
  type_name.parent = make_parents get_d10r_module_path(type)
  type_name
end

- (Object) get_d10r_type_directory_name



63
64
65
# File 'lib/wsdl_mapper/naming/default_namer.rb', line 63

def get_d10r_type_directory_name
  get_support_name 'D10rTypeDirectory'
end

- (EnumerationValueName) get_enumeration_value_name(type, enum_value)



106
107
108
# File 'lib/wsdl_mapper/naming/default_namer.rb', line 106

def get_enumeration_value_name(type, enum_value)
  EnumerationValueName.new get_constant_name(enum_value.value), get_key_name(enum_value.value)
end

- (Object) get_global_d10r_name



71
72
73
# File 'lib/wsdl_mapper/naming/default_namer.rb', line 71

def get_global_d10r_name
  get_support_name 'Deserializer'
end

- (Object) get_global_s8r_name



59
60
61
# File 'lib/wsdl_mapper/naming/default_namer.rb', line 59

def get_global_s8r_name
  get_support_name 'Serializer'
end

- (InlineType) get_inline_type(element)



118
119
120
121
# File 'lib/wsdl_mapper/naming/default_namer.rb', line 118

def get_inline_type(element)
  name = element.name.name + 'InlineType'
  InlineType.new WsdlMapper::Dom::Name.get(element.name.ns, name)
end

- (PropertyName) get_property_name(property)

Parameters:

Returns:



93
94
95
# File 'lib/wsdl_mapper/naming/default_namer.rb', line 93

def get_property_name(property)
  PropertyName.new get_accessor_name(property.name.name), get_var_name(property.name.name)
end

- (TypeName) get_s8r_name(type)



77
78
79
80
81
# File 'lib/wsdl_mapper/naming/default_namer.rb', line 77

def get_s8r_name(type)
  type_name = TypeName.new get_s8r_class_name(type), get_s8r_module_path(type), get_s8r_file_name(type), get_s8r_file_path(type)
  type_name.parent = make_parents get_s8r_module_path(type)
  type_name
end

- (Object) get_s8r_type_directory_name



55
56
57
# File 'lib/wsdl_mapper/naming/default_namer.rb', line 55

def get_s8r_type_directory_name
  get_support_name 'S8rTypeDirectory'
end

- (String) get_soap_array_item_name(type)

Parameters:

Returns:

  • (String)


125
126
127
# File 'lib/wsdl_mapper/naming/default_namer.rb', line 125

def get_soap_array_item_name(type)
  @soap_array_item_name
end

- (TypeName) get_support_name(name)

Parameters:

  • name (String)

Returns:



49
50
51
52
53
# File 'lib/wsdl_mapper/naming/default_namer.rb', line 49

def get_support_name(name)
  type_name = TypeName.new get_support_class_name(name), get_support_module_path(name), get_support_file_name(name), get_support_file_path(name)
  type_name.parent = make_parents get_support_module_path(name)
  type_name
end

- (TypeName) get_type_name(type)

Returns a type name for the given type (simple or complex).



41
42
43
44
45
# File 'lib/wsdl_mapper/naming/default_namer.rb', line 41

def get_type_name(type)
  type_name = TypeName.new get_class_name(type), get_class_module_path(type), get_class_file_name(type), get_class_file_path(type)
  type_name.parent = make_parents get_class_module_path(type)
  type_name
end