Class: WsdlMapper::Deserializers::TypeDirectory
- Inherits:
-
Object
- Object
- WsdlMapper::Deserializers::TypeDirectory
- Defined in:
- lib/wsdl_mapper/deserializers/type_directory.rb
Instance Method Summary (collapse)
- - (Object) each_type(&block)
-
- (TypeDirectory) initialize(*base, &block)
constructor
A new instance of TypeDirectory.
- - (Object) register_soap_array(type_name, klass, item_type_name)
- - (Object) register_type(type_name, klass, simple: false, &block)
Constructor Details
- (TypeDirectory) initialize(*base, &block)
Returns a new instance of TypeDirectory
9 10 11 12 13 |
# File 'lib/wsdl_mapper/deserializers/type_directory.rb', line 9 def initialize(*base, &block) @types = WsdlMapper::Dom::Directory.new on_nil: Errors::UnknownTypeError @base = base instance_exec &block if block_given? end |
Instance Method Details
- (Object) each_type(&block)
25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/wsdl_mapper/deserializers/type_directory.rb', line 25 def each_type(&block) if block_given? @base.each do |base| base.each_type &block end @types.each &block else types = @base.inject([]) { |sum, b| sum + b.each_type.to_a } types + @types.each.to_a end end |
- (Object) register_soap_array(type_name, klass, item_type_name)
20 21 22 23 |
# File 'lib/wsdl_mapper/deserializers/type_directory.rb', line 20 def register_soap_array(type_name, klass, item_type_name) type_name = WsdlMapper::Dom::Name.get *type_name @types[type_name] = SoapArrayMapping.new klass, type: item_type_name end |
- (Object) register_type(type_name, klass, simple: false, &block)
15 16 17 18 |
# File 'lib/wsdl_mapper/deserializers/type_directory.rb', line 15 def register_type(type_name, klass, simple: false, &block) type_name = WsdlMapper::Dom::Name.get *type_name @types[type_name] = ClassMapping.new klass, simple: simple, &block end |