Class: WsdlMapper::Serializers::SerializerCore
- Inherits:
-
Object
- Object
- WsdlMapper::Serializers::SerializerCore
- Defined in:
- lib/wsdl_mapper/serializers/serializer_core.rb
Instance Method Summary collapse
- #complex(_type_name, element_name, attributes) ⇒ Object
- #get(name) ⇒ Object
-
#initialize(resolver:, namespaces: WsdlMapper::Dom::Namespaces.new, default_namespace: nil) ⇒ SerializerCore
constructor
A new instance of SerializerCore.
- #simple(_type_name, element_name) ⇒ Object
- #soap_enc ⇒ Object
- #text_builtin(value, type_name) ⇒ Object
- #to_doc ⇒ Object
- #to_xml ⇒ Object
- #value_builtin(element_name, value, type_name) ⇒ Object
- #xsd ⇒ Object
Constructor Details
#initialize(resolver:, namespaces: WsdlMapper::Dom::Namespaces.new, default_namespace: nil) ⇒ SerializerCore
Returns a new instance of SerializerCore.
11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/wsdl_mapper/serializers/serializer_core.rb', line 11 def initialize(resolver:, namespaces: WsdlMapper::Dom::Namespaces.new, default_namespace: nil) @doc = ::Nokogiri::XML::Document.new @doc.encoding = 'UTF-8' @x = ::Nokogiri::XML::Builder.with @doc @tm = ::WsdlMapper::TypeMapping::DEFAULT @resolver = resolver @namespaces = namespaces if default_namespace @namespaces.default = default_namespace end end |
Instance Method Details
#complex(_type_name, element_name, attributes) ⇒ Object
27 28 29 30 31 32 |
# File 'lib/wsdl_mapper/serializers/serializer_core.rb', line 27 def complex(_type_name, element_name, attributes) # TODO: keep type_name parameter? @x.send (*element_name), eval_attributes(attributes) do |_| yield self end end |
#get(name) ⇒ Object
23 24 25 |
# File 'lib/wsdl_mapper/serializers/serializer_core.rb', line 23 def get(name) @resolver.resolve name end |
#simple(_type_name, element_name) ⇒ Object
34 35 36 37 38 |
# File 'lib/wsdl_mapper/serializers/serializer_core.rb', line 34 def simple(_type_name, element_name) @x.send (*element_name) do |_| yield self end end |
#soap_enc ⇒ Object
61 62 63 |
# File 'lib/wsdl_mapper/serializers/serializer_core.rb', line 61 def soap_enc @soap_enc ||= ::WsdlMapper::Dom::SoapEncodingType::NAMESPACE end |
#text_builtin(value, type_name) ⇒ Object
40 41 42 43 |
# File 'lib/wsdl_mapper/serializers/serializer_core.rb', line 40 def text_builtin(value, type_name) return if value.nil? @x.text builtin_to_xml(type_name, value) end |
#to_doc ⇒ Object
54 55 56 57 58 59 |
# File 'lib/wsdl_mapper/serializers/serializer_core.rb', line 54 def to_doc @namespaces.each do |(prefix, url)| @doc.root.add_namespace prefix, url end @doc end |
#to_xml ⇒ Object
50 51 52 |
# File 'lib/wsdl_mapper/serializers/serializer_core.rb', line 50 def to_xml to_doc.to_xml end |
#value_builtin(element_name, value, type_name) ⇒ Object
45 46 47 48 |
# File 'lib/wsdl_mapper/serializers/serializer_core.rb', line 45 def value_builtin(element_name, value, type_name) return if value.nil? @x.send (*element_name), builtin_to_xml(type_name, value) end |
#xsd ⇒ Object
65 66 67 |
# File 'lib/wsdl_mapper/serializers/serializer_core.rb', line 65 def xsd @xsd ||= ::WsdlMapper::Dom::BuiltinType::NAMESPACE end |