Class: XmlNodeBuilder

Inherits:
Object
  • Object
show all
Defined in:
app/services/xml_node_builder.rb

Direct Known Subclasses

XmlElementBuilder, XmlNullBuilder, XmlTreeBuilder

Constant Summary collapse

XML_VERSION =
"1.0"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(document: nil) ⇒ XmlNodeBuilder

Returns a new instance of XmlNodeBuilder.

Parameters:

  • document (Nokogiri::XML::Document) (defaults to: nil)


32
33
34
35
36
# File 'app/services/xml_node_builder.rb', line 32

def initialize(document: nil)
  @document = document || build_document

  @node = nil
end

Instance Attribute Details

#documentObject (readonly)

Returns the value of attribute document.



5
6
7
# File 'app/services/xml_node_builder.rb', line 5

def document
  @document
end

#nodeObject (readonly)

Returns the value of attribute node.



5
6
7
# File 'app/services/xml_node_builder.rb', line 5

def node
  @node
end

Instance Method Details

#buildNokogiri::XML::Element

Returns:

  • (Nokogiri::XML::Element)


25
26
27
28
29
# File 'app/services/xml_node_builder.rb', line 25

def build
  return node if node.present?

  @node = document.root
end

#build_documentNokogiri::XML::Document

Returns:

  • (Nokogiri::XML::Document)


20
21
22
# File 'app/services/xml_node_builder.rb', line 20

def build_document
  Nokogiri::XML::Document.new(*xml_document_args)
end

#xml_document_argsArray<String>

Returns:

  • (Array<String>)


13
14
15
16
17
# File 'app/services/xml_node_builder.rb', line 13

def xml_document_args
  [
    xml_version
  ]
end

#xml_versionString

Returns:

  • (String)


8
9
10
# File 'app/services/xml_node_builder.rb', line 8

def xml_version
  XML_VERSION
end