class WsdlMapper::Deserializers::Deserializer

Public Class Methods

new(type_mapping: WsdlMapper::TypeMapping::DEFAULT, qualified_elements: false, qualified_attributes: false, skip_unknown_elements: false ) click to toggle source
# File lib/wsdl_mapper/deserializers/deserializer.rb, line 19
def initialize(type_mapping: WsdlMapper::TypeMapping::DEFAULT,
    qualified_elements: false,
    qualified_attributes: false,
    skip_unknown_elements: 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
  @skip_unknown_elements = skip_unknown_elements
end

Public Instance Methods

from_xml(xml) click to toggle source
# File lib/wsdl_mapper/deserializers/deserializer.rb, line 35
def from_xml(xml)
  doc = SaxDocument.new self
  parser = Nokogiri::XML::SAX::Parser.new doc
  parser.parse xml
  doc.object
end
get_element_type(element_name) click to toggle source
# File lib/wsdl_mapper/deserializers/deserializer.rb, line 53
def get_element_type(element_name)
  @element_mappings[element_name]
end
get_element_type_mapping(element_name) click to toggle source
# File lib/wsdl_mapper/deserializers/deserializer.rb, line 57
def get_element_type_mapping(element_name)
  @element_type_mappings[element_name]
end
get_type_mapping(type_name) click to toggle source
# File lib/wsdl_mapper/deserializers/deserializer.rb, line 61
def get_type_mapping(type_name)
  return if WsdlMapper::Dom::BuiltinType.builtin? type_name
  @type_mappings[type_name]
end
qualified_attributes?() click to toggle source
# File lib/wsdl_mapper/deserializers/deserializer.rb, line 74
def qualified_attributes?
  !!@qualified_attributes
end
qualified_elements?() click to toggle source
# File lib/wsdl_mapper/deserializers/deserializer.rb, line 70
def qualified_elements?
  !!@qualified_elements
end
register_element(element_name, type_name) click to toggle source
# File lib/wsdl_mapper/deserializers/deserializer.rb, line 42
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
register_type(type_name, class_mapping) click to toggle source
# File lib/wsdl_mapper/deserializers/deserializer.rb, line 48
def register_type(type_name, class_mapping)
  type_name = Name.get(*type_name)
  @type_mappings[type_name] = class_mapping
end
skip_unknown_elements?() click to toggle source
# File lib/wsdl_mapper/deserializers/deserializer.rb, line 78
def skip_unknown_elements?
  !!@skip_unknown_elements
end
to_ruby(type, value) click to toggle source
# File lib/wsdl_mapper/deserializers/deserializer.rb, line 66
def to_ruby(type, value)
  @tm.to_ruby type, value
end