• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

pulibrary / tigerdata-app / 2019cefc-a8e6-4859-80c7-47af78cd7e4c

07 Nov 2025 06:12PM UTC coverage: 88.239% (-3.1%) from 91.357%
2019cefc-a8e6-4859-80c7-47af78cd7e4c

Pull #2163

circleci

web-flow
Merge branch 'main' into 2157-project-list-error
Pull Request #2163: Logs Mediaflux errors when fetching the project list

8 of 8 new or added lines in 1 file covered. (100.0%)

498 existing lines in 29 files now uncovered.

2761 of 3129 relevant lines covered (88.24%)

488.86 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

27.78
/lib/xml_utilities.rb
1
# frozen_string_literal: true
UNCOV
2
require "yaml"
1✔
3

4
# frozen_string_literal: true
UNCOV
5
TYPENAMES = { 1 => "element", 2 => "attribute", 3 => "text", 4 => "cdata", 8 => "comment" }.freeze
1✔
6

UNCOV
7
def xml_node_to_hash(node)
1✔
8
  # Based on https://stackoverflow.com/a/10144623
UNCOV
9
  h = {}
×
UNCOV
10
  h[:name] = node.name
×
11
  # For our needs, I think the type name clear from context.
12
  # node_type_name = TYPENAMES[node.node_type]
13
  # if node_type_name != "element"
14
  #   h[:name] += " (#{node_type_name})"
15
  # end
UNCOV
16
  if node.namespace
×
17
    h[:nshref] = node.namespace.href
×
18
    h[:nsprefix] = node.namespace.prefix
×
UNCOV
19
  end
UNCOV
20
  h[:text] = node.text unless node.text.empty?
×
UNCOV
21
  h[:attributes] = node.attribute_nodes.map { |attr_node| xml_node_to_hash(attr_node) } if node.element? && !node.attribute_nodes.empty?
×
UNCOV
22
  h[:subelements] = node.children.map { |child_node| xml_node_to_hash(child_node) } if node.element? && !node.children.empty?
×
UNCOV
23
  h
×
UNCOV
24
end
25

UNCOV
26
def xml_doc_to_hash(document)
1✔
UNCOV
27
  xml_node_to_hash(document.root)
×
UNCOV
28
end
29

UNCOV
30
def xml_doc_to_html(document)
1✔
UNCOV
31
  as_hash = xml_doc_to_hash(document)
×
UNCOV
32
  as_yaml = YAML.dump(as_hash).gsub(/\A---\n/, "")
×
UNCOV
33
  "<pre>#{CGI.escapeHTML(as_yaml)}</pre>"
×
UNCOV
34
end
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc