epb_view_models 2.2.19 → 2.2.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.ruby-version +1 -1
- data/Gemfile +1 -1
- data/Gemfile.lock +21 -21
- data/epb_view_models.gemspec +3 -2
- data/lib/epb_view_models.rb +1 -1
- data/lib/presenter/cs63/certificate_summary.rb +2 -0
- data/lib/view_model/cepc_s_70/cepc.rb +5 -5
- data/lib/view_model/cepc_s_71/cepc.rb +5 -5
- data/lib/view_model/cs63/common_schema.rb +8 -0
- data/lib/view_model/rd_sap_schema_ni_173/common_schema.rb +8 -8
- data/lib/view_model/rd_sap_schema_ni_174/common_schema.rb +8 -8
- data/lib/view_model/rd_sap_schema_ni_180/common_schema.rb +8 -8
- data/lib/view_model/rd_sap_schema_ni_190/common_schema.rb +8 -8
- data/lib/view_model/rd_sap_schema_ni_200/common_schema.rb +8 -8
- data/lib/view_model/rd_sap_schema_s_190/common_schema.rb +41 -41
- data/lib/view_model/rd_sap_schema_s_210/common_schema.rb +35 -35
- data/lib/view_model/sap_schema_1900/common_schema.rb +6 -6
- data/lib/view_model/sap_schema_1910/common_schema.rb +6 -6
- data/lib/view_model/sap_schema_1920/common_schema.rb +6 -6
- data/lib/view_model/sap_schema_ni_173/common_schema.rb +8 -8
- data/lib/view_model/sap_schema_ni_174/common_schema.rb +8 -8
- data/lib/view_model/sap_schema_ni_1800/common_schema.rb +8 -8
- data/lib/view_model/sap_schema_s_1900/common_schema.rb +11 -11
- metadata +18 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b51e29596b157eeebfc686cd69b4376a928c5ba1942bc32765c749d2fa4cf4d9
|
|
4
|
+
data.tar.gz: 784b5e44bade9144169fb83ff1d2b5306f2760306a7771701db0bee110fab0fb
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d1321d628ac3a2be04fbbc7662ebe31cbc4448cbafba89f19815d526d41a4d465ffe93af77cf520bcf31315aa508820113653b6b95d3c107390e86e4cd312fb1
|
|
7
|
+
data.tar.gz: 506a4862857dc92e36d9218160c7ada2637b6d57a7f9e167d8318f97fd60a3b9c29d4f0edbcef0a63bca287eb7ea9bba366f63d5a5393863250fdcd91858d000
|
data/.ruby-version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
3.4.
|
|
1
|
+
3.4.9
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
GEM
|
|
2
2
|
remote: https://rubygems.org/
|
|
3
3
|
specs:
|
|
4
|
-
activesupport (8.1.
|
|
4
|
+
activesupport (8.1.3)
|
|
5
5
|
base64
|
|
6
6
|
bigdecimal
|
|
7
7
|
concurrent-ruby (~> 1.0, >= 1.3.1)
|
|
@@ -16,34 +16,34 @@ GEM
|
|
|
16
16
|
uri (>= 0.13.1)
|
|
17
17
|
ast (2.4.3)
|
|
18
18
|
base64 (0.3.0)
|
|
19
|
-
bigdecimal (4.
|
|
20
|
-
concurrent-ruby (1.3.
|
|
19
|
+
bigdecimal (4.1.2)
|
|
20
|
+
concurrent-ruby (1.3.8)
|
|
21
21
|
connection_pool (3.0.2)
|
|
22
22
|
diff-lcs (1.6.2)
|
|
23
23
|
drb (2.2.3)
|
|
24
|
-
i18n (1.
|
|
24
|
+
i18n (1.15.2)
|
|
25
25
|
concurrent-ruby (~> 1.0)
|
|
26
|
-
json (2.
|
|
27
|
-
language_server-protocol (3.17.0.
|
|
26
|
+
json (2.21.1)
|
|
27
|
+
language_server-protocol (3.17.0.6)
|
|
28
28
|
lint_roller (1.1.0)
|
|
29
29
|
logger (1.7.0)
|
|
30
30
|
mini_portile2 (2.8.9)
|
|
31
|
-
minitest (6.0.
|
|
31
|
+
minitest (6.0.6)
|
|
32
32
|
drb (~> 2.0)
|
|
33
33
|
prism (~> 1.5)
|
|
34
|
-
nokogiri (1.19.
|
|
34
|
+
nokogiri (1.19.4)
|
|
35
35
|
mini_portile2 (~> 2.8.2)
|
|
36
36
|
racc (~> 1.4)
|
|
37
|
-
parallel (1.
|
|
38
|
-
parser (3.3.
|
|
37
|
+
parallel (1.28.0)
|
|
38
|
+
parser (3.3.12.0)
|
|
39
39
|
ast (~> 2.4.1)
|
|
40
40
|
racc
|
|
41
41
|
prism (1.9.0)
|
|
42
42
|
racc (1.8.1)
|
|
43
|
-
rack (3.2.
|
|
43
|
+
rack (3.2.6)
|
|
44
44
|
rainbow (3.1.1)
|
|
45
45
|
rake (13.0.6)
|
|
46
|
-
regexp_parser (2.
|
|
46
|
+
regexp_parser (2.12.0)
|
|
47
47
|
rexml (3.4.4)
|
|
48
48
|
rspec (3.13.2)
|
|
49
49
|
rspec-core (~> 3.13.0)
|
|
@@ -54,11 +54,11 @@ GEM
|
|
|
54
54
|
rspec-expectations (3.13.5)
|
|
55
55
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
56
56
|
rspec-support (~> 3.13.0)
|
|
57
|
-
rspec-mocks (3.13.
|
|
57
|
+
rspec-mocks (3.13.8)
|
|
58
58
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
59
59
|
rspec-support (~> 3.13.0)
|
|
60
60
|
rspec-support (3.13.7)
|
|
61
|
-
rubocop (1.
|
|
61
|
+
rubocop (1.86.0)
|
|
62
62
|
json (~> 2.3)
|
|
63
63
|
language_server-protocol (~> 3.17.0.2)
|
|
64
64
|
lint_roller (~> 1.1.0)
|
|
@@ -66,18 +66,18 @@ GEM
|
|
|
66
66
|
parser (>= 3.3.0.2)
|
|
67
67
|
rainbow (>= 2.2.2, < 4.0)
|
|
68
68
|
regexp_parser (>= 2.9.3, < 3.0)
|
|
69
|
-
rubocop-ast (>= 1.
|
|
69
|
+
rubocop-ast (>= 1.49.0, < 2.0)
|
|
70
70
|
ruby-progressbar (~> 1.7)
|
|
71
71
|
unicode-display_width (>= 2.4.0, < 4.0)
|
|
72
|
-
rubocop-ast (1.49.
|
|
72
|
+
rubocop-ast (1.49.1)
|
|
73
73
|
parser (>= 3.3.7.2)
|
|
74
74
|
prism (~> 1.7)
|
|
75
75
|
rubocop-capybara (2.22.1)
|
|
76
76
|
lint_roller (~> 1.1)
|
|
77
77
|
rubocop (~> 1.72, >= 1.72.1)
|
|
78
|
-
rubocop-govuk (5.2.
|
|
79
|
-
rubocop (= 1.
|
|
80
|
-
rubocop-ast (= 1.49.
|
|
78
|
+
rubocop-govuk (5.2.1)
|
|
79
|
+
rubocop (= 1.86.0)
|
|
80
|
+
rubocop-ast (= 1.49.1)
|
|
81
81
|
rubocop-capybara (= 2.22.1)
|
|
82
82
|
rubocop-rails (= 2.34.3)
|
|
83
83
|
rubocop-rake (= 0.7.1)
|
|
@@ -102,7 +102,7 @@ GEM
|
|
|
102
102
|
unicode-emoji (~> 4.1)
|
|
103
103
|
unicode-emoji (4.2.0)
|
|
104
104
|
uri (1.1.1)
|
|
105
|
-
zeitwerk (2.
|
|
105
|
+
zeitwerk (2.8.2)
|
|
106
106
|
|
|
107
107
|
PLATFORMS
|
|
108
108
|
ruby
|
|
@@ -116,7 +116,7 @@ DEPENDENCIES
|
|
|
116
116
|
zeitwerk (~> 2.6)
|
|
117
117
|
|
|
118
118
|
RUBY VERSION
|
|
119
|
-
ruby 3.
|
|
119
|
+
ruby 3.4.9p82
|
|
120
120
|
|
|
121
121
|
BUNDLED WITH
|
|
122
122
|
2.3.15
|
data/epb_view_models.gemspec
CHANGED
|
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
|
|
|
10
10
|
spec.summary = "Library used to parse Energy Performance Certificates (EPC)"
|
|
11
11
|
spec.homepage = "https://github.com/communitiesuk/epb-view-models"
|
|
12
12
|
spec.license = "MIT"
|
|
13
|
-
spec.required_ruby_version = ">= 3.
|
|
13
|
+
spec.required_ruby_version = ">= 3.4"
|
|
14
14
|
|
|
15
15
|
# Specify which files should be added to the gem when it is released.
|
|
16
16
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
|
@@ -21,6 +21,7 @@ Gem::Specification.new do |spec|
|
|
|
21
21
|
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
|
|
22
22
|
spec.require_paths = %w[lib]
|
|
23
23
|
|
|
24
|
-
spec.add_dependency "nokogiri", "~> 1.
|
|
24
|
+
spec.add_dependency "nokogiri", "~> 1.18"
|
|
25
|
+
spec.add_dependency "rexml", "~> 3.3"
|
|
25
26
|
spec.add_dependency "zeitwerk", "~> 2.6"
|
|
26
27
|
end
|
data/lib/epb_view_models.rb
CHANGED
|
@@ -53,6 +53,8 @@ module Presenter
|
|
|
53
53
|
accept_prescriptive_improvements: @view_model.accept_prescriptive_improvements,
|
|
54
54
|
prescriptive_improvements: @view_model.prescriptive_improvements,
|
|
55
55
|
alternative_improvements: @view_model.alternative_improvements,
|
|
56
|
+
total_emission_savings: @view_model.total_emission_savings,
|
|
57
|
+
total_energy_savings: @view_model.total_energy_savings,
|
|
56
58
|
}
|
|
57
59
|
end
|
|
58
60
|
end
|
|
@@ -103,11 +103,11 @@ module ViewModel
|
|
|
103
103
|
@xml_doc
|
|
104
104
|
.search("Recommendations-Report RR-Recommendations/#{payback}")
|
|
105
105
|
.map do |node|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
106
|
+
{
|
|
107
|
+
code: node.at("Recommendation-Code").content,
|
|
108
|
+
text: node.at("Recommendation").content,
|
|
109
|
+
cO2Impact: node.at("CO2-Impact").content,
|
|
110
|
+
}
|
|
111
111
|
end
|
|
112
112
|
end
|
|
113
113
|
end
|
|
@@ -103,11 +103,11 @@ module ViewModel
|
|
|
103
103
|
@xml_doc
|
|
104
104
|
.search("Recommendations-Report RR-Recommendations/#{payback}")
|
|
105
105
|
.map do |node|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
106
|
+
{
|
|
107
|
+
code: node.at("Recommendation-Code").content,
|
|
108
|
+
text: node.at("Recommendation").content,
|
|
109
|
+
cO2Impact: node.at("CO2-Impact").content,
|
|
110
|
+
}
|
|
111
111
|
end
|
|
112
112
|
end
|
|
113
113
|
end
|
|
@@ -523,14 +523,14 @@ module ViewModel
|
|
|
523
523
|
@xml_doc
|
|
524
524
|
.search("Suggested-Improvements Improvement")
|
|
525
525
|
.map do |node|
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
526
|
+
improvement_code = xpath(%w[Improvement-Details Improvement-Number], node)
|
|
527
|
+
{
|
|
528
|
+
sequence: xpath(%w[Sequence], node).to_i,
|
|
529
|
+
improvement_code: xpath(%w[Improvement-Details Improvement-Number], node),
|
|
530
|
+
improvement_summary: improvement_code ? accessor.fetch_details(schema_version: "RdSAP-Schema-NI-17.3", improvement_number: improvement_code).summary : xpath(%w[Improvement-Summary], node),
|
|
531
|
+
improvement_description: improvement_code ? accessor.fetch_details(schema_version: "RdSAP-Schema-NI-17.3", improvement_number: improvement_code).description : xpath(%w[Improvement-Description], node),
|
|
532
|
+
indicative_cost: xpath(%w[Indicative-Cost], node),
|
|
533
|
+
}
|
|
534
534
|
end
|
|
535
535
|
end
|
|
536
536
|
end
|
|
@@ -523,14 +523,14 @@ module ViewModel
|
|
|
523
523
|
@xml_doc
|
|
524
524
|
.search("Suggested-Improvements Improvement")
|
|
525
525
|
.map do |node|
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
526
|
+
improvement_code = xpath(%w[Improvement-Details Improvement-Number], node)
|
|
527
|
+
{
|
|
528
|
+
sequence: xpath(%w[Sequence], node).to_i,
|
|
529
|
+
improvement_code: xpath(%w[Improvement-Details Improvement-Number], node),
|
|
530
|
+
improvement_summary: improvement_code ? accessor.fetch_details(schema_version: "RdSAP-Schema-NI-17.4", improvement_number: improvement_code).summary : xpath(%w[Improvement-Summary], node),
|
|
531
|
+
improvement_description: improvement_code ? accessor.fetch_details(schema_version: "RdSAP-Schema-NI-17.4", improvement_number: improvement_code).description : xpath(%w[Improvement-Description], node),
|
|
532
|
+
indicative_cost: xpath(%w[Indicative-Cost], node),
|
|
533
|
+
}
|
|
534
534
|
end
|
|
535
535
|
end
|
|
536
536
|
end
|
|
@@ -523,14 +523,14 @@ module ViewModel
|
|
|
523
523
|
@xml_doc
|
|
524
524
|
.search("Suggested-Improvements Improvement")
|
|
525
525
|
.map do |node|
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
526
|
+
improvement_code = xpath(%w[Improvement-Details Improvement-Number], node)
|
|
527
|
+
{
|
|
528
|
+
sequence: xpath(%w[Sequence], node).to_i,
|
|
529
|
+
improvement_code: xpath(%w[Improvement-Details Improvement-Number], node),
|
|
530
|
+
improvement_summary: improvement_code ? accessor.fetch_details(schema_version: "RdSAP-Schema-NI-18.0", improvement_number: improvement_code).summary : xpath(%w[Improvement-Summary], node),
|
|
531
|
+
improvement_description: improvement_code ? accessor.fetch_details(schema_version: "RdSAP-Schema-NI-18.0", improvement_number: improvement_code).description : xpath(%w[Improvement-Description], node),
|
|
532
|
+
indicative_cost: xpath(%w[Indicative-Cost], node),
|
|
533
|
+
}
|
|
534
534
|
end
|
|
535
535
|
end
|
|
536
536
|
end
|
|
@@ -523,14 +523,14 @@ module ViewModel
|
|
|
523
523
|
@xml_doc
|
|
524
524
|
.search("Suggested-Improvements Improvement")
|
|
525
525
|
.map do |node|
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
526
|
+
improvement_code = xpath(%w[Improvement-Details Improvement-Number], node)
|
|
527
|
+
{
|
|
528
|
+
sequence: xpath(%w[Sequence], node).to_i,
|
|
529
|
+
improvement_code: xpath(%w[Improvement-Details Improvement-Number], node),
|
|
530
|
+
improvement_summary: improvement_code ? accessor.fetch_details(schema_version: "RdSAP-Schema-NI-19.0", improvement_number: improvement_code).summary : xpath(%w[Improvement-Summary], node),
|
|
531
|
+
improvement_description: improvement_code ? accessor.fetch_details(schema_version: "RdSAP-Schema-NI-19.0", improvement_number: improvement_code).description : xpath(%w[Improvement-Description], node),
|
|
532
|
+
indicative_cost: xpath(%w[Indicative-Cost], node),
|
|
533
|
+
}
|
|
534
534
|
end
|
|
535
535
|
end
|
|
536
536
|
end
|
|
@@ -578,14 +578,14 @@ module ViewModel
|
|
|
578
578
|
@xml_doc
|
|
579
579
|
.search("Suggested-Improvements Improvement")
|
|
580
580
|
.map do |node|
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
581
|
+
improvement_code = xpath(%w[Improvement-Details Improvement-Number], node)
|
|
582
|
+
{
|
|
583
|
+
sequence: xpath(%w[Sequence], node).to_i,
|
|
584
|
+
improvement_code: xpath(%w[Improvement-Details Improvement-Number], node),
|
|
585
|
+
improvement_summary: improvement_code ? accessor.fetch_details(schema_version: "RdSAP-Schema-NI-20.0.0", improvement_number: improvement_code).summary : xpath(%w[Improvement-Summary], node),
|
|
586
|
+
improvement_description: improvement_code ? accessor.fetch_details(schema_version: "RdSAP-Schema-NI-20.0.0", improvement_number: improvement_code).description : xpath(%w[Improvement-Description], node),
|
|
587
|
+
indicative_cost: xpath(%w[Indicative-Cost], node),
|
|
588
|
+
}
|
|
589
589
|
end
|
|
590
590
|
end
|
|
591
591
|
end
|
|
@@ -543,7 +543,7 @@ module ViewModel
|
|
|
543
543
|
@xml_doc
|
|
544
544
|
.search("SAP-Building-Part")
|
|
545
545
|
.map do |node|
|
|
546
|
-
|
|
546
|
+
xpath(%w[Party-Wall-Construction], node)
|
|
547
547
|
end
|
|
548
548
|
end
|
|
549
549
|
|
|
@@ -551,16 +551,16 @@ module ViewModel
|
|
|
551
551
|
@xml_doc
|
|
552
552
|
.search("SAP-Building-Part")
|
|
553
553
|
.map do |node|
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
554
|
+
{
|
|
555
|
+
alternative_wall_thickness: node.at_xpath("SAP-Alternative-Wall/Wall-Thickness")&.content,
|
|
556
|
+
alternative_wall_thickness_measured: node.at_xpath("SAP-Alternative-Wall/Wall-Thickness-Measured")&.content,
|
|
557
|
+
alternative_wall_construction: node.at_xpath("SAP-Alternative-Wall/Wall-Construction")&.content,
|
|
558
|
+
alternative_wall_u_value: node.at_xpath("SAP-Alternative-Wall/Wall-U-Value")&.content,
|
|
559
|
+
alternative_wall_insulation_thickness: node.at_xpath("SAP-Alternative-Wall/Wall-Insulation-Thickness")&.content,
|
|
560
|
+
wall_thickness: node.at_xpath("Wall-Thickness")&.content,
|
|
561
|
+
wall_construction: node.at_xpath("Wall-Construction")&.content,
|
|
562
|
+
wall_thickness_measured: node.at_xpath("Wall-Thickness-Measured")&.content,
|
|
563
|
+
}
|
|
564
564
|
end
|
|
565
565
|
end
|
|
566
566
|
|
|
@@ -568,10 +568,10 @@ module ViewModel
|
|
|
568
568
|
@xml_doc
|
|
569
569
|
.search("SAP-Building-Part")
|
|
570
570
|
.map do |node|
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
571
|
+
{
|
|
572
|
+
roof_insulation_location: node.at_xpath("Roof-Insulation-Location")&.content,
|
|
573
|
+
roof_construction: node.at_xpath("Roof-Construction")&.content,
|
|
574
|
+
}
|
|
575
575
|
end
|
|
576
576
|
end
|
|
577
577
|
|
|
@@ -579,7 +579,7 @@ module ViewModel
|
|
|
579
579
|
@xml_doc
|
|
580
580
|
.search("SAP-Building-Part")
|
|
581
581
|
.map do |_node|
|
|
582
|
-
|
|
582
|
+
xpath(%w[SAP-Room-In-Roof Insulation])
|
|
583
583
|
end
|
|
584
584
|
end
|
|
585
585
|
|
|
@@ -587,10 +587,10 @@ module ViewModel
|
|
|
587
587
|
@xml_doc
|
|
588
588
|
.search("SAP-Building-Part")
|
|
589
589
|
.map do |node|
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
590
|
+
{
|
|
591
|
+
floor_u_value: node.at_xpath("Floor-U-Value")&.content,
|
|
592
|
+
floor_insulation_thickness: node.at_xpath("Floor-Insulation-Thickness")&.content,
|
|
593
|
+
}
|
|
594
594
|
end
|
|
595
595
|
end
|
|
596
596
|
|
|
@@ -598,13 +598,13 @@ module ViewModel
|
|
|
598
598
|
@xml_doc
|
|
599
599
|
.search("SAP-Building-Part")
|
|
600
600
|
.map do |node|
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
601
|
+
{
|
|
602
|
+
roof_u_value: node.at_xpath("Roof-U-Value")&.content,
|
|
603
|
+
roof_insulation_thickness: node.at_xpath("Roof-Insulation-Thickness")&.content,
|
|
604
|
+
rafter_insulation_thickness: node.at_xpath("Rafter-Insulation-Thickness")&.content,
|
|
605
|
+
flat_roof_insulation_thickness: node.at_xpath("Flat-Roof-Insulation-Thickness")&.content,
|
|
606
|
+
sloping_ceiling_insulation_thickness: node.at_xpath("Sloping-Ceiling-Insulation-Thickness")&.content,
|
|
607
|
+
}
|
|
608
608
|
end
|
|
609
609
|
end
|
|
610
610
|
|
|
@@ -612,10 +612,10 @@ module ViewModel
|
|
|
612
612
|
@xml_doc
|
|
613
613
|
.search("SAP-Building-Part")
|
|
614
614
|
.map do |node|
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
615
|
+
{
|
|
616
|
+
wall_u_value: node.at_xpath("Wall-U-Value")&.content,
|
|
617
|
+
wall_insulation_thickness: node.at_xpath("Wall-Insulation-Thickness")&.content,
|
|
618
|
+
}
|
|
619
619
|
end
|
|
620
620
|
end
|
|
621
621
|
|
|
@@ -623,7 +623,7 @@ module ViewModel
|
|
|
623
623
|
@xml_doc
|
|
624
624
|
.search("SAP-Building-Part")
|
|
625
625
|
.map do |node|
|
|
626
|
-
|
|
626
|
+
node.at_xpath("SAP-Room-In-Roof")&.content.to_s
|
|
627
627
|
end
|
|
628
628
|
end
|
|
629
629
|
|
|
@@ -631,10 +631,10 @@ module ViewModel
|
|
|
631
631
|
@xml_doc
|
|
632
632
|
.search("SAP-Building-Part")
|
|
633
633
|
.map do |_node|
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
634
|
+
{
|
|
635
|
+
roof_insulation_thickness: xpath(%w[SAP-Room-In-Roof Roof-Insulation-Thickness]),
|
|
636
|
+
room_in_roof_details: xpath(%w[SAP-Room-In-Roof Room-In-Roof-Details]),
|
|
637
|
+
}
|
|
638
638
|
end
|
|
639
639
|
end
|
|
640
640
|
|
|
@@ -642,11 +642,11 @@ module ViewModel
|
|
|
642
642
|
@xml_doc
|
|
643
643
|
.search("Main-Heating")
|
|
644
644
|
.map do |_node|
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
645
|
+
{
|
|
646
|
+
main_heating_index_number: xpath(%w[Main-Heating-Index-Number]),
|
|
647
|
+
sap_main_heating_code: xpath(%w[SAP-Main-Heating-Code]),
|
|
648
|
+
main_fuel_type: xpath(%w[Main-Fuel-Type]),
|
|
649
|
+
}
|
|
650
650
|
end
|
|
651
651
|
end
|
|
652
652
|
|
|
@@ -567,7 +567,7 @@ module ViewModel
|
|
|
567
567
|
@xml_doc
|
|
568
568
|
.search("SAP-Building-Part")
|
|
569
569
|
.map do |node|
|
|
570
|
-
|
|
570
|
+
xpath(%w[Party-Wall-Construction], node)
|
|
571
571
|
end
|
|
572
572
|
end
|
|
573
573
|
|
|
@@ -575,16 +575,16 @@ module ViewModel
|
|
|
575
575
|
@xml_doc
|
|
576
576
|
.search("SAP-Building-Part")
|
|
577
577
|
.map do |node|
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
578
|
+
{
|
|
579
|
+
alternative_wall_thickness: node.at_xpath("SAP-Alternative-Wall/Wall-Thickness")&.content,
|
|
580
|
+
alternative_wall_thickness_measured: node.at_xpath("SAP-Alternative-Wall/Wall-Thickness-Measured")&.content,
|
|
581
|
+
alternative_wall_construction: node.at_xpath("SAP-Alternative-Wall/Wall-Construction")&.content,
|
|
582
|
+
alternative_wall_u_value: node.at_xpath("SAP-Alternative-Wall/Wall-U-Value")&.content,
|
|
583
|
+
alternative_wall_insulation_thickness: node.at_xpath("SAP-Alternative-Wall/Wall-Insulation-Thickness")&.content,
|
|
584
|
+
wall_thickness: node.at_xpath("Wall-Thickness")&.content,
|
|
585
|
+
wall_construction: node.at_xpath("Wall-Construction")&.content,
|
|
586
|
+
wall_thickness_measured: node.at_xpath("Wall-Thickness-Measured")&.content,
|
|
587
|
+
}
|
|
588
588
|
end
|
|
589
589
|
end
|
|
590
590
|
|
|
@@ -592,10 +592,10 @@ module ViewModel
|
|
|
592
592
|
@xml_doc
|
|
593
593
|
.search("SAP-Building-Part")
|
|
594
594
|
.map do |node|
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
595
|
+
{
|
|
596
|
+
roof_insulation_location: node.at_xpath("Roof-Insulation-Location")&.content,
|
|
597
|
+
roof_construction: node.at_xpath("Roof-Construction")&.content,
|
|
598
|
+
}
|
|
599
599
|
end
|
|
600
600
|
end
|
|
601
601
|
|
|
@@ -607,10 +607,10 @@ module ViewModel
|
|
|
607
607
|
@xml_doc
|
|
608
608
|
.search("SAP-Building-Part")
|
|
609
609
|
.map do |node|
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
610
|
+
{
|
|
611
|
+
floor_u_value: node.at_xpath("Floor-U-Value")&.content,
|
|
612
|
+
floor_insulation_thickness: node.at_xpath("Floor-Insulation-Thickness")&.content,
|
|
613
|
+
}
|
|
614
614
|
end
|
|
615
615
|
end
|
|
616
616
|
|
|
@@ -618,13 +618,13 @@ module ViewModel
|
|
|
618
618
|
@xml_doc
|
|
619
619
|
.search("SAP-Building-Part")
|
|
620
620
|
.map do |node|
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
621
|
+
{
|
|
622
|
+
roof_u_value: node.at_xpath("Roof-U-Value")&.content,
|
|
623
|
+
roof_insulation_thickness: node.at_xpath("Roof-Insulation-Thickness")&.content,
|
|
624
|
+
rafter_insulation_thickness: node.at_xpath("Rafter-Insulation-Thickness")&.content,
|
|
625
|
+
flat_roof_insulation_thickness: node.at_xpath("Flat-Roof-Insulation-Thickness")&.content,
|
|
626
|
+
sloping_ceiling_insulation_thickness: node.at_xpath("Sloping-Ceiling-Insulation-Thickness")&.content,
|
|
627
|
+
}
|
|
628
628
|
end
|
|
629
629
|
end
|
|
630
630
|
|
|
@@ -632,10 +632,10 @@ module ViewModel
|
|
|
632
632
|
@xml_doc
|
|
633
633
|
.search("SAP-Building-Part")
|
|
634
634
|
.map do |node|
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
635
|
+
{
|
|
636
|
+
wall_u_value: node.at_xpath("Wall-U-Value")&.content,
|
|
637
|
+
wall_insulation_thickness: node.at_xpath("Wall-Insulation-Thickness")&.content,
|
|
638
|
+
}
|
|
639
639
|
end
|
|
640
640
|
end
|
|
641
641
|
|
|
@@ -651,11 +651,11 @@ module ViewModel
|
|
|
651
651
|
@xml_doc
|
|
652
652
|
.search("Main-Heating")
|
|
653
653
|
.map do |_node|
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
654
|
+
{
|
|
655
|
+
main_heating_index_number: xpath(%w[Main-Heating-Index-Number]),
|
|
656
|
+
sap_main_heating_code: xpath(%w[SAP-Main-Heating-Code]),
|
|
657
|
+
main_fuel_type: xpath(%w[Main-Fuel-Type]),
|
|
658
|
+
}
|
|
659
659
|
end
|
|
660
660
|
end
|
|
661
661
|
|
|
@@ -371,12 +371,12 @@ module ViewModel
|
|
|
371
371
|
@xml_doc
|
|
372
372
|
.search("Fixed-Lights/Fixed-Light")
|
|
373
373
|
.map do |part|
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
374
|
+
{
|
|
375
|
+
lighting_efficacy:
|
|
376
|
+
xpath(%w[Lighting-Efficacy], part),
|
|
377
|
+
lighting_outlets:
|
|
378
|
+
xpath(%w[Lighting-Outlets], part),
|
|
379
|
+
}
|
|
380
380
|
end
|
|
381
381
|
end
|
|
382
382
|
|
|
@@ -371,12 +371,12 @@ module ViewModel
|
|
|
371
371
|
@xml_doc
|
|
372
372
|
.search("Fixed-Lights/Fixed-Light")
|
|
373
373
|
.map do |part|
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
374
|
+
{
|
|
375
|
+
lighting_efficacy:
|
|
376
|
+
xpath(%w[Lighting-Efficacy], part),
|
|
377
|
+
lighting_outlets:
|
|
378
|
+
xpath(%w[Lighting-Outlets], part),
|
|
379
|
+
}
|
|
380
380
|
end
|
|
381
381
|
end
|
|
382
382
|
|
|
@@ -371,12 +371,12 @@ module ViewModel
|
|
|
371
371
|
@xml_doc
|
|
372
372
|
.search("Fixed-Lights/Fixed-Light")
|
|
373
373
|
.map do |part|
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
374
|
+
{
|
|
375
|
+
lighting_efficacy:
|
|
376
|
+
xpath(%w[Lighting-Efficacy], part),
|
|
377
|
+
lighting_outlets:
|
|
378
|
+
xpath(%w[Lighting-Outlets], part),
|
|
379
|
+
}
|
|
380
380
|
end
|
|
381
381
|
end
|
|
382
382
|
|
|
@@ -454,14 +454,14 @@ module ViewModel
|
|
|
454
454
|
@xml_doc
|
|
455
455
|
.search("Suggested-Improvements Improvement")
|
|
456
456
|
.map do |node|
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
457
|
+
improvement_code = xpath(%w[Improvement-Details Improvement-Number], node)
|
|
458
|
+
{
|
|
459
|
+
sequence: xpath(%w[Sequence], node).to_i,
|
|
460
|
+
improvement_code: xpath(%w[Improvement-Details Improvement-Number], node),
|
|
461
|
+
improvement_summary: improvement_code ? accessor.fetch_details(schema_version: "SAP-Schema-NI-17.3", improvement_number: improvement_code).summary : xpath(%w[Improvement-Summary], node),
|
|
462
|
+
improvement_description: improvement_code ? accessor.fetch_details(schema_version: "SAP-Schema-NI-17.3", improvement_number: improvement_code).description : xpath(%w[Improvement-Description], node),
|
|
463
|
+
indicative_cost: xpath(%w[Indicative-Cost], node),
|
|
464
|
+
}
|
|
465
465
|
end
|
|
466
466
|
end
|
|
467
467
|
end
|
|
@@ -454,14 +454,14 @@ module ViewModel
|
|
|
454
454
|
@xml_doc
|
|
455
455
|
.search("Suggested-Improvements Improvement")
|
|
456
456
|
.map do |node|
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
457
|
+
improvement_code = xpath(%w[Improvement-Details Improvement-Number], node)
|
|
458
|
+
{
|
|
459
|
+
sequence: xpath(%w[Sequence], node).to_i,
|
|
460
|
+
improvement_code: xpath(%w[Improvement-Details Improvement-Number], node),
|
|
461
|
+
improvement_summary: improvement_code ? accessor.fetch_details(schema_version: "SAP-Schema-NI-17.4", improvement_number: improvement_code).summary : xpath(%w[Improvement-Summary], node),
|
|
462
|
+
improvement_description: improvement_code ? accessor.fetch_details(schema_version: "SAP-Schema-NI-17.4", improvement_number: improvement_code).description : xpath(%w[Improvement-Description], node),
|
|
463
|
+
indicative_cost: xpath(%w[Indicative-Cost], node),
|
|
464
|
+
}
|
|
465
465
|
end
|
|
466
466
|
end
|
|
467
467
|
end
|
|
@@ -510,14 +510,14 @@ module ViewModel
|
|
|
510
510
|
@xml_doc
|
|
511
511
|
.search("Suggested-Improvements Improvement")
|
|
512
512
|
.map do |node|
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
513
|
+
improvement_code = xpath(%w[Improvement-Details Improvement-Number], node)
|
|
514
|
+
{
|
|
515
|
+
sequence: xpath(%w[Sequence], node).to_i,
|
|
516
|
+
improvement_code: xpath(%w[Improvement-Details Improvement-Number], node),
|
|
517
|
+
improvement_summary: improvement_code ? accessor.fetch_details(schema_version: "SAP-Schema-NI-18.0.0", improvement_number: improvement_code).summary : xpath(%w[Improvement-Summary], node),
|
|
518
|
+
improvement_description: improvement_code ? accessor.fetch_details(schema_version: "SAP-Schema-NI-18.0.0", improvement_number: improvement_code).description : xpath(%w[Improvement-Description], node),
|
|
519
|
+
indicative_cost: xpath(%w[Indicative-Cost], node),
|
|
520
|
+
}
|
|
521
521
|
end
|
|
522
522
|
end
|
|
523
523
|
end
|
|
@@ -367,12 +367,12 @@ module ViewModel
|
|
|
367
367
|
@xml_doc
|
|
368
368
|
.search("Fixed-Lights/Fixed-Light")
|
|
369
369
|
.map do |part|
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
370
|
+
{
|
|
371
|
+
lighting_efficacy:
|
|
372
|
+
xpath(%w[Lighting-Efficacy], part),
|
|
373
|
+
lighting_outlets:
|
|
374
|
+
xpath(%w[Lighting-Outlets], part),
|
|
375
|
+
}
|
|
376
376
|
end
|
|
377
377
|
end
|
|
378
378
|
|
|
@@ -600,10 +600,10 @@ module ViewModel
|
|
|
600
600
|
@xml_doc
|
|
601
601
|
.search("SAP-Heating/Main-Heating-Details/Main-Heating")
|
|
602
602
|
.map do |_node|
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
603
|
+
{
|
|
604
|
+
main_heating_code: xpath(%w[Main-Heating-Code]),
|
|
605
|
+
main_heating_index_number: xpath(%w[Main-Heating-Index-Number]),
|
|
606
|
+
}
|
|
607
607
|
end
|
|
608
608
|
end
|
|
609
609
|
|
|
@@ -611,7 +611,7 @@ module ViewModel
|
|
|
611
611
|
@xml_doc
|
|
612
612
|
.search("SAP-Building-Part")
|
|
613
613
|
.map do |node|
|
|
614
|
-
|
|
614
|
+
xpath(%w[Construction-Year], node)
|
|
615
615
|
end
|
|
616
616
|
end
|
|
617
617
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: epb_view_models
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.2.
|
|
4
|
+
version: 2.2.21
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- MHCLG Energy Performance of Buildings
|
|
@@ -15,14 +15,28 @@ dependencies:
|
|
|
15
15
|
requirements:
|
|
16
16
|
- - "~>"
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
|
-
version: '1.
|
|
18
|
+
version: '1.18'
|
|
19
19
|
type: :runtime
|
|
20
20
|
prerelease: false
|
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
22
22
|
requirements:
|
|
23
23
|
- - "~>"
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
|
-
version: '1.
|
|
25
|
+
version: '1.18'
|
|
26
|
+
- !ruby/object:Gem::Dependency
|
|
27
|
+
name: rexml
|
|
28
|
+
requirement: !ruby/object:Gem::Requirement
|
|
29
|
+
requirements:
|
|
30
|
+
- - "~>"
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: '3.3'
|
|
33
|
+
type: :runtime
|
|
34
|
+
prerelease: false
|
|
35
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
36
|
+
requirements:
|
|
37
|
+
- - "~>"
|
|
38
|
+
- !ruby/object:Gem::Version
|
|
39
|
+
version: '3.3'
|
|
26
40
|
- !ruby/object:Gem::Dependency
|
|
27
41
|
name: zeitwerk
|
|
28
42
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -1874,7 +1888,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
1874
1888
|
requirements:
|
|
1875
1889
|
- - ">="
|
|
1876
1890
|
- !ruby/object:Gem::Version
|
|
1877
|
-
version: '3.
|
|
1891
|
+
version: '3.4'
|
|
1878
1892
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1879
1893
|
requirements:
|
|
1880
1894
|
- - ">="
|