Class: WsdlMapper::Serializers::TypeDirectory
- Inherits:
-
Object
- Object
- WsdlMapper::Serializers::TypeDirectory
- Defined in:
- lib/wsdl_mapper/serializers/type_directory.rb
Defined Under Namespace
Classes: TypeItem
Instance Method Summary (collapse)
- - (Object) find(obj)
- - (Object) get_element_name(name)
-
- (TypeDirectory) initialize(*base, &block)
constructor
A new instance of TypeDirectory.
- - (Object) register_element(name, element_name)
- - (Object) register_serializer(s8r_name, serializer)
- - (Object) register_type(type_name, require_path, s8r_name)
- - (Object) resolve(name)
Constructor Details
- (TypeDirectory) initialize(*base, &block)
Returns a new instance of TypeDirectory
9 10 11 12 13 14 15 16 17 18 |
# File 'lib/wsdl_mapper/serializers/type_directory.rb', line 9 def initialize(*base, &block) @base = base @types = {} @elements = {} @serializers = {} @by_type_name = Hash.new do |h, k| h[k] = find_and_load k end instance_exec &block if block_given? end |
Instance Method Details
- (Object) find(obj)
47 48 49 |
# File 'lib/wsdl_mapper/serializers/type_directory.rb', line 47 def find(obj) resolve obj.class.name end |
- (Object) get_element_name(name)
29 30 31 32 33 34 35 36 37 |
# File 'lib/wsdl_mapper/serializers/type_directory.rb', line 29 def get_element_name(name) element_name = @elements[normalize(name)] return element_name if element_name @base.each do |base| element_name = base.get_element_name(name) return element_name if element_name end nil # TODO: raise error? end |
- (Object) register_element(name, element_name)
20 21 22 |
# File 'lib/wsdl_mapper/serializers/type_directory.rb', line 20 def register_element(name, element_name) @elements[normalize(name)] = WsdlMapper::Dom::Name.get *element_name end |
- (Object) register_serializer(s8r_name, serializer)
43 44 45 |
# File 'lib/wsdl_mapper/serializers/type_directory.rb', line 43 def register_serializer(s8r_name, serializer) @serializers[normalize(s8r_name)] = serializer end |
- (Object) register_type(type_name, require_path, s8r_name)
24 25 26 27 |
# File 'lib/wsdl_mapper/serializers/type_directory.rb', line 24 def register_type(type_name, require_path, s8r_name) item = TypeItem.new type_name, require_path, s8r_name @types[normalize(type_name)] = item end |
- (Object) resolve(name)
39 40 41 |
# File 'lib/wsdl_mapper/serializers/type_directory.rb', line 39 def resolve(name) @by_type_name[normalize(name)] end |