circleci
14 of 14 new or added lines in 1 file covered. (100.0%)
746 existing lines in 36 files now uncovered.2857 of 3267 relevant lines covered (87.45%)
524.64 hits per line
| 1 |
# frozen_string_literal: true
|
|
|
UNCOV
2
|
class XmlNodeBuilder |
3✔ |
|
UNCOV
3
|
XML_VERSION = "1.0" |
3✔ |
| 4 |
|
|
|
UNCOV
5
|
attr_reader :document, :node |
3✔ |
| 6 |
|
|
| 7 |
# @return [String]
|
|
|
UNCOV
8
|
def xml_version |
3✔ |
|
UNCOV
9
|
XML_VERSION
|
676✔ |
|
UNCOV
10
|
end
|
|
| 11 |
|
|
| 12 |
# @return [Array<String>]
|
|
|
UNCOV
13
|
def xml_document_args |
3✔ |
|
UNCOV
14
|
[ |
|
|
UNCOV
15
|
xml_version |
676✔ |
|
UNCOV
16
|
] |
|
|
UNCOV
17
|
end
|
|
| 18 |
|
|
| 19 |
# @return [Nokogiri::XML::Document]
|
|
|
UNCOV
20
|
def build_document |
3✔ |
|
UNCOV
21
|
Nokogiri::XML::Document.new(*xml_document_args) |
676✔ |
|
UNCOV
22
|
end
|
|
| 23 |
|
|
| 24 |
# @return [Nokogiri::XML::Element]
|
|
|
UNCOV
25
|
def build |
3✔ |
| 26 |
return node if node.present? |
2✔ |
| 27 |
|
|
| 28 |
@node = document.root
|
2✔ |
|
UNCOV
29
|
end
|
|
| 30 |
|
|
| 31 |
# @param [Nokogiri::XML::Document] document
|
|
|
UNCOV
32
|
def initialize(document: nil) |
3✔ |
|
UNCOV
33
|
@document = document || build_document
|
3,752✔ |
| 34 |
|
|
|
UNCOV
35
|
@node = nil |
3,752✔ |
|
UNCOV
36
|
end
|
|
|
UNCOV
37
|
end
|