circleci
4 of 5 new or added lines in 2 files covered. (80.0%)
986 existing lines in 43 files now uncovered.2806 of 3202 relevant lines covered (87.63%)
411.27 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
|
662✔ |
|
UNCOV
10
|
end
|
|
| 11 |
|
|
| 12 |
# @return [Array<String>]
|
|
|
UNCOV
13
|
def xml_document_args |
3✔ |
|
UNCOV
14
|
[ |
|
|
UNCOV
15
|
xml_version |
662✔ |
|
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) |
662✔ |
|
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,664✔ |
| 34 |
|
|
|
UNCOV
35
|
@node = nil |
3,664✔ |
|
UNCOV
36
|
end
|
|
|
UNCOV
37
|
end
|