Class: WsdlMapper::Deserializers::Deserializer
- Inherits:
-
Object
- Object
- WsdlMapper::Deserializers::Deserializer
- Includes:
- WsdlMapper::Dom
- Defined in:
- lib/wsdl_mapper/deserializers/deserializer.rb
Direct Known Subclasses
Instance Method Summary (collapse)
- - (Object) from_xml(xml)
- - (Object) get_element_type(element_name)
- - (Object) get_element_type_mapping(element_name)
- - (Object) get_type_mapping(type_name)
-
- (Deserializer) initialize(type_mapping: WsdlMapper::TypeMapping::DEFAULT, qualified_elements: false, qualified_attributes: false)
constructor
A new instance of Deserializer.
- - (Boolean) qualified_attributes?
- - (Boolean) qualified_elements?
- - (Object) register_element(element_name, type_name)
- - (Object) register_type(type_name, class_mapping)
- - (Object) to_ruby(type, value)
Constructor Details
- (Deserializer) initialize(type_mapping: WsdlMapper::TypeMapping::DEFAULT, qualified_elements: false, qualified_attributes: false)
Returns a new instance of Deserializer
19 20 21 22 23 24 25 26 27 28 |
# File 'lib/wsdl_mapper/deserializers/deserializer.rb', line 19 def initialize(type_mapping: WsdlMapper::TypeMapping::DEFAULT, qualified_elements: false, qualified_attributes: false) @tm = type_mapping @element_mappings = Directory.new on_nil: Errors::UnknownElementError @type_mappings = Directory.new on_nil: Errors::UnknownTypeError @element_type_mappings = Directory.new do |name| get_type_mapping get_element_type name end @qualified_elements = qualified_elements @qualified_attributes = qualified_attributes end |
Instance Method Details
- (Object) from_xml(xml)
30 31 32 33 34 35 |
# File 'lib/wsdl_mapper/deserializers/deserializer.rb', line 30 def from_xml(xml) doc = SaxDocument.new self parser = Nokogiri::XML::SAX::Parser.new doc parser.parse xml doc.object end |
- (Object) get_element_type(element_name)
48 49 50 |
# File 'lib/wsdl_mapper/deserializers/deserializer.rb', line 48 def get_element_type(element_name) @element_mappings[element_name] end |
- (Object) get_element_type_mapping(element_name)
52 53 54 |
# File 'lib/wsdl_mapper/deserializers/deserializer.rb', line 52 def get_element_type_mapping(element_name) @element_type_mappings[element_name] end |
- (Object) get_type_mapping(type_name)
56 57 58 59 |
# File 'lib/wsdl_mapper/deserializers/deserializer.rb', line 56 def get_type_mapping(type_name) return if WsdlMapper::Dom::BuiltinType.builtin? type_name @type_mappings[type_name] end |
- (Boolean) qualified_attributes?
69 70 71 |
# File 'lib/wsdl_mapper/deserializers/deserializer.rb', line 69 def qualified_attributes? !!@qualified_attributes end |
- (Boolean) qualified_elements?
65 66 67 |
# File 'lib/wsdl_mapper/deserializers/deserializer.rb', line 65 def qualified_elements? !!@qualified_elements end |
- (Object) register_element(element_name, type_name)
37 38 39 40 41 |
# File 'lib/wsdl_mapper/deserializers/deserializer.rb', line 37 def register_element(element_name, type_name) element_name = Name.get *element_name type_name = Name.get *type_name @element_mappings[element_name] = type_name end |
- (Object) register_type(type_name, class_mapping)
43 44 45 46 |
# File 'lib/wsdl_mapper/deserializers/deserializer.rb', line 43 def register_type(type_name, class_mapping) type_name = Name.get *type_name @type_mappings[type_name] = class_mapping end |
- (Object) to_ruby(type, value)
61 62 63 |
# File 'lib/wsdl_mapper/deserializers/deserializer.rb', line 61 def to_ruby(type, value) @tm.to_ruby type, value end |