epb_view_models 2.0.21 → 2.0.22

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ed9f5e77319ae25d45faf45646634323453e30df404a4ac9cb72818b9939db9e
4
- data.tar.gz: 5c66135dcfc843111cfea5ec3cb0dfd7c7fea09b8fd8ae5667c2374720b175c8
3
+ metadata.gz: d85bde3ffdb768d3ff48c1b31a1f6c7c2b5a00eb48939ebac8db555733728e0c
4
+ data.tar.gz: c7b60ba9284c2498313a68bb195c7c32acd4bc2e46981f58341453a63d30b6bf
5
5
  SHA512:
6
- metadata.gz: a1ac2e1cce2199eb00d5f3d75ac31b41d88f83a25b3c66de44f1b83bc1704aabf07469b3ffe8c7e4ecaf326aa8234ded13780e6eeca98a90ed6bb7118027c723
7
- data.tar.gz: bdaa3a7a3be9e0d9579c56adcef26f1d67333528976543280de1b91ac88d33a93c27e389ad0317a713e197002d958547994663ca543ba4a231176605b0a2c69d
6
+ metadata.gz: 84eec66ab33a554050c1d86ee818f78771ebe0baf62180c9f70e299eff3432c760197bfeb17bbb34e8bbd1e9807b12dc2ba9d0b4a6fb7f7d1d00e8b760aa6e44
7
+ data.tar.gz: e8fb779ffa5b77f14aed1d66a93c2be834e84d15146c95dedf909d68807d3df14a2c6cdd2ee096b90cc5414babc7335281714ebcefbad3012289b689953f1202
@@ -5,7 +5,7 @@ loader = Zeitwerk::Loader.for_gem(warn_on_extra_files: false)
5
5
  loader.setup
6
6
 
7
7
  module EpbViewModels
8
- VERSION = "2.0.21"
8
+ VERSION = "2.0.22"
9
9
  end
10
10
 
11
11
  # Monkey patching to avoid using ActiveRecord::Type::Boolean.new.cast
@@ -517,6 +517,22 @@ module ViewModel
517
517
  def has_cylinder_thermostat
518
518
  xpath(%w[Cylinder-Thermostat])
519
519
  end
520
+
521
+ def recommendations_for_report
522
+ accessor = Accessor::DomesticRecommendationsAccessor.instance
523
+ @xml_doc
524
+ .search("Suggested-Improvements Improvement")
525
+ .map do |node|
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
+ end
535
+ end
520
536
  end
521
537
  end
522
538
  end
@@ -517,6 +517,22 @@ module ViewModel
517
517
  def has_cylinder_thermostat
518
518
  xpath(%w[Cylinder-Thermostat])
519
519
  end
520
+
521
+ def recommendations_for_report
522
+ accessor = Accessor::DomesticRecommendationsAccessor.instance
523
+ @xml_doc
524
+ .search("Suggested-Improvements Improvement")
525
+ .map do |node|
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
+ end
535
+ end
520
536
  end
521
537
  end
522
538
  end
@@ -517,6 +517,22 @@ module ViewModel
517
517
  def has_cylinder_thermostat
518
518
  xpath(%w[Cylinder-Thermostat])
519
519
  end
520
+
521
+ def recommendations_for_report
522
+ accessor = Accessor::DomesticRecommendationsAccessor.instance
523
+ @xml_doc
524
+ .search("Suggested-Improvements Improvement")
525
+ .map do |node|
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
+ end
535
+ end
520
536
  end
521
537
  end
522
538
  end
@@ -517,6 +517,22 @@ module ViewModel
517
517
  def has_cylinder_thermostat
518
518
  xpath(%w[Cylinder-Thermostat])
519
519
  end
520
+
521
+ def recommendations_for_report
522
+ accessor = Accessor::DomesticRecommendationsAccessor.instance
523
+ @xml_doc
524
+ .search("Suggested-Improvements Improvement")
525
+ .map do |node|
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
+ end
535
+ end
520
536
  end
521
537
  end
522
538
  end
@@ -572,6 +572,22 @@ module ViewModel
572
572
  def has_cylinder_thermostat
573
573
  xpath(%w[Cylinder-Thermostat])
574
574
  end
575
+
576
+ def recommendations_for_report
577
+ accessor = Accessor::DomesticRecommendationsAccessor.instance
578
+ @xml_doc
579
+ .search("Suggested-Improvements Improvement")
580
+ .map do |node|
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
+ end
590
+ end
575
591
  end
576
592
  end
577
593
  end
@@ -125,8 +125,8 @@ module ViewModel
125
125
  {
126
126
  sequence: xpath(%w[Sequence], node).to_i,
127
127
  improvement_code: xpath(%w[Improvement-Details Improvement-Number], node),
128
- improvement_summary: improvement_code ? accessor.fetch_details(schema_version: "RdSAP-Schema-20.0.0", improvement_number: improvement_code).summary : xpath(%w[Improvement-Summary], node),
129
- improvement_description: improvement_code ? accessor.fetch_details(schema_version: "RdSAP-Schema-20.0.0", improvement_number: improvement_code).description : xpath(%w[Improvement-Description], node),
128
+ improvement_summary: improvement_code ? accessor.fetch_details(schema_version: "RdSAP-Schema-NI-21.0.0", improvement_number: improvement_code).summary : xpath(%w[Improvement-Summary], node),
129
+ improvement_description: improvement_code ? accessor.fetch_details(schema_version: "RdSAP-Schema-NI-21.0.0", improvement_number: improvement_code).description : xpath(%w[Improvement-Description], node),
130
130
  indicative_cost: xpath(%w[Indicative-Cost], node),
131
131
  }
132
132
  end
@@ -448,6 +448,22 @@ module ViewModel
448
448
  def ventilation_type
449
449
  xpath(%w[Ventilation-Type])
450
450
  end
451
+
452
+ def recommendations_for_report
453
+ accessor = Accessor::DomesticRecommendationsAccessor.instance
454
+ @xml_doc
455
+ .search("Suggested-Improvements Improvement")
456
+ .map do |node|
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
+ end
466
+ end
451
467
  end
452
468
  end
453
469
  end
@@ -448,6 +448,22 @@ module ViewModel
448
448
  def ventilation_type
449
449
  xpath(%w[Ventilation-Type])
450
450
  end
451
+
452
+ def recommendations_for_report
453
+ accessor = Accessor::DomesticRecommendationsAccessor.instance
454
+ @xml_doc
455
+ .search("Suggested-Improvements Improvement")
456
+ .map do |node|
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
+ end
466
+ end
451
467
  end
452
468
  end
453
469
  end
@@ -504,6 +504,22 @@ module ViewModel
504
504
  def ventilation_type
505
505
  xpath(%w[Ventilation-Type])
506
506
  end
507
+
508
+ def recommendations_for_report
509
+ accessor = Accessor::DomesticRecommendationsAccessor.instance
510
+ @xml_doc
511
+ .search("Suggested-Improvements Improvement")
512
+ .map do |node|
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
+ end
522
+ end
507
523
  end
508
524
  end
509
525
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: epb_view_models
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.21
4
+ version: 2.0.22
5
5
  platform: ruby
6
6
  authors:
7
7
  - DLUHC Energy Performance of Buildings
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-06-04 00:00:00.000000000 Z
11
+ date: 2025-06-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri