Class: WsdlMapper::Serializers::SerializerFactory

Inherits:
Object
  • Object
show all
Defined in:
lib/wsdl_mapper/serializers/serializer_factory.rb

Instance Method Summary (collapse)

Constructor Details

- (SerializerFactory) initialize(type_directory, default_namespace: nil)

Returns a new instance of SerializerFactory



6
7
8
9
# File 'lib/wsdl_mapper/serializers/serializer_factory.rb', line 6

def initialize(type_directory, default_namespace: nil)
  @type_directory = type_directory
  @default_namespace = default_namespace
end

Instance Method Details

- (Object) to_doc(obj, element_name = nil)



15
16
17
18
19
20
21
22
23
24
# File 'lib/wsdl_mapper/serializers/serializer_factory.rb', line 15

def to_doc(obj, element_name = nil)
  element_name ||= @type_directory.get_element_name obj.class.name
  if element_name.nil?
    raise ArgumentError.new("element_name not found for #{obj.class.name}")
  end
  core = SerializerCore.new resolver: @type_directory, default_namespace: @default_namespace
  serializer = @type_directory.find obj
  serializer.build core, obj, element_name
  core.to_doc
end

- (Object) to_xml(obj, element_name = nil)



11
12
13
# File 'lib/wsdl_mapper/serializers/serializer_factory.rb', line 11

def to_xml(obj, element_name = nil)
  to_doc(obj, element_name).to_xml
end