epb_view_models 1.0.0 → 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (115) hide show
  1. checksums.yaml +4 -4
  2. data/.buildspec.yml +13 -0
  3. data/.gitignore +5 -0
  4. data/.ruby-version +1 -0
  5. data/Gemfile.lock +22 -17
  6. data/Makefile +1 -1
  7. data/api/schemas/xml/RdSAP-Schema-NI-19.0/RdSAP/Templates/EPC-CollectedData.xsd +13 -12
  8. data/lib/epb_view_models.rb +1 -1
  9. data/lib/helper/ac_report_extraction.rb +26 -28
  10. data/lib/helper/energy_band_calculator.rb +1 -1
  11. data/lib/helper/xml_enums_to_output.rb +286 -126
  12. data/lib/presenter/cepc/report.rb +5 -2
  13. data/lib/presenter/dec/report.rb +5 -2
  14. data/lib/presenter/export/domestic.rb +1 -1
  15. data/lib/presenter/rd_sap/report.rb +213 -5
  16. data/lib/presenter/sap/report.rb +213 -4
  17. data/lib/presenter/sap/summary.rb +1 -1
  18. data/lib/view_model/cepc50/cepc.rb +0 -4
  19. data/lib/view_model/cepc60/cepc.rb +0 -4
  20. data/lib/view_model/cepc71/dec.rb +0 -4
  21. data/lib/view_model/cepc_ni800/ac_report.rb +3 -2
  22. data/lib/view_model/domestic_epc_view_model.rb +4 -0
  23. data/lib/view_model/rd_sap_schema_170/common_schema.rb +16 -0
  24. data/lib/view_model/rd_sap_schema_171/common_schema.rb +16 -0
  25. data/lib/view_model/rd_sap_schema_180/common_schema.rb +16 -0
  26. data/lib/view_model/rd_sap_schema_190/common_schema.rb +16 -0
  27. data/lib/view_model/rd_sap_schema_200/common_schema.rb +16 -8
  28. data/lib/view_model/rd_sap_schema_ni_173/common_schema.rb +16 -0
  29. data/lib/view_model/rd_sap_schema_ni_174/common_schema.rb +16 -0
  30. data/lib/view_model/rd_sap_schema_ni_180/common_schema.rb +16 -0
  31. data/lib/view_model/rd_sap_schema_ni_190/common_schema.rb +16 -0
  32. data/lib/view_model/rd_sap_schema_ni_200/common_schema.rb +16 -4
  33. data/lib/view_model/rd_sap_wrapper.rb +4 -0
  34. data/lib/view_model/sap_schema_102/common_schema.rb +33 -10
  35. data/lib/view_model/sap_schema_102/rdsap.rb +8 -0
  36. data/lib/view_model/sap_schema_110/common_schema.rb +1 -10
  37. data/lib/view_model/sap_schema_110/rdsap.rb +36 -0
  38. data/lib/view_model/sap_schema_110/sap.rb +36 -0
  39. data/lib/view_model/sap_schema_112/common_schema.rb +1 -10
  40. data/lib/view_model/sap_schema_112/rdsap.rb +36 -0
  41. data/lib/view_model/sap_schema_112/sap.rb +36 -0
  42. data/lib/view_model/sap_schema_120/common_schema.rb +0 -12
  43. data/lib/view_model/sap_schema_120/rdsap.rb +36 -0
  44. data/lib/view_model/sap_schema_120/sap.rb +36 -0
  45. data/lib/view_model/sap_schema_130/common_schema.rb +0 -4
  46. data/lib/view_model/sap_schema_130/rdsap.rb +36 -0
  47. data/lib/view_model/sap_schema_130/sap.rb +36 -0
  48. data/lib/view_model/sap_schema_140/common_schema.rb +0 -8
  49. data/lib/view_model/sap_schema_140/rdsap.rb +36 -0
  50. data/lib/view_model/sap_schema_140/sap.rb +36 -0
  51. data/lib/view_model/sap_schema_141/common_schema.rb +0 -4
  52. data/lib/view_model/sap_schema_141/rdsap.rb +36 -0
  53. data/lib/view_model/sap_schema_141/sap.rb +36 -0
  54. data/lib/view_model/sap_schema_142/common_schema.rb +0 -4
  55. data/lib/view_model/sap_schema_142/rdsap.rb +36 -0
  56. data/lib/view_model/sap_schema_142/sap.rb +36 -0
  57. data/lib/view_model/sap_schema_150/common_schema.rb +0 -4
  58. data/lib/view_model/sap_schema_150/rdsap.rb +36 -0
  59. data/lib/view_model/sap_schema_150/sap.rb +36 -0
  60. data/lib/view_model/sap_schema_160/common_schema.rb +0 -4
  61. data/lib/view_model/sap_schema_160/rdsap.rb +36 -0
  62. data/lib/view_model/sap_schema_160/sap.rb +36 -0
  63. data/lib/view_model/sap_schema_161/common_schema.rb +0 -4
  64. data/lib/view_model/sap_schema_161/rdsap.rb +36 -0
  65. data/lib/view_model/sap_schema_161/sap.rb +36 -0
  66. data/lib/view_model/sap_schema_162/common_schema.rb +0 -4
  67. data/lib/view_model/sap_schema_162/rdsap.rb +36 -0
  68. data/lib/view_model/sap_schema_162/sap.rb +36 -0
  69. data/lib/view_model/sap_schema_163/common_schema.rb +0 -4
  70. data/lib/view_model/sap_schema_163/rdsap.rb +36 -0
  71. data/lib/view_model/sap_schema_163/sap.rb +36 -0
  72. data/lib/view_model/sap_schema_170/common_schema.rb +32 -0
  73. data/lib/view_model/sap_schema_171/common_schema.rb +32 -4
  74. data/lib/view_model/sap_schema_1800/common_schema.rb +32 -8
  75. data/lib/view_model/sap_schema_ni_112/common_schema.rb +1 -5
  76. data/lib/view_model/sap_schema_ni_112/rdsap.rb +45 -4
  77. data/lib/view_model/sap_schema_ni_112/sap.rb +35 -0
  78. data/lib/view_model/sap_schema_ni_120/common_schema.rb +1 -5
  79. data/lib/view_model/sap_schema_ni_120/rdsap.rb +40 -0
  80. data/lib/view_model/sap_schema_ni_120/sap.rb +36 -0
  81. data/lib/view_model/sap_schema_ni_130/common_schema.rb +1 -5
  82. data/lib/view_model/sap_schema_ni_130/rdsap.rb +40 -0
  83. data/lib/view_model/sap_schema_ni_130/sap.rb +36 -0
  84. data/lib/view_model/sap_schema_ni_140/common_schema.rb +1 -5
  85. data/lib/view_model/sap_schema_ni_140/rdsap.rb +40 -0
  86. data/lib/view_model/sap_schema_ni_140/sap.rb +36 -0
  87. data/lib/view_model/sap_schema_ni_141/common_schema.rb +1 -5
  88. data/lib/view_model/sap_schema_ni_141/rdsap.rb +40 -0
  89. data/lib/view_model/sap_schema_ni_141/sap.rb +36 -0
  90. data/lib/view_model/sap_schema_ni_142/common_schema.rb +1 -5
  91. data/lib/view_model/sap_schema_ni_142/rdsap.rb +40 -0
  92. data/lib/view_model/sap_schema_ni_142/sap.rb +36 -0
  93. data/lib/view_model/sap_schema_ni_150/common_schema.rb +1 -5
  94. data/lib/view_model/sap_schema_ni_150/rdsap.rb +40 -0
  95. data/lib/view_model/sap_schema_ni_150/sap.rb +36 -0
  96. data/lib/view_model/sap_schema_ni_160/common_schema.rb +2 -6
  97. data/lib/view_model/sap_schema_ni_160/rdsap.rb +36 -0
  98. data/lib/view_model/sap_schema_ni_160/sap.rb +36 -0
  99. data/lib/view_model/sap_schema_ni_161/common_schema.rb +1 -5
  100. data/lib/view_model/sap_schema_ni_161/rdsap.rb +36 -0
  101. data/lib/view_model/sap_schema_ni_161/sap.rb +36 -0
  102. data/lib/view_model/sap_schema_ni_170/common_schema.rb +0 -4
  103. data/lib/view_model/sap_schema_ni_170/rdsap.rb +36 -0
  104. data/lib/view_model/sap_schema_ni_170/sap.rb +36 -0
  105. data/lib/view_model/sap_schema_ni_171/common_schema.rb +0 -4
  106. data/lib/view_model/sap_schema_ni_171/rdsap.rb +36 -0
  107. data/lib/view_model/sap_schema_ni_171/sap.rb +36 -0
  108. data/lib/view_model/sap_schema_ni_172/common_schema.rb +0 -4
  109. data/lib/view_model/sap_schema_ni_172/rdsap.rb +44 -0
  110. data/lib/view_model/sap_schema_ni_172/sap.rb +36 -0
  111. data/lib/view_model/sap_schema_ni_173/common_schema.rb +32 -0
  112. data/lib/view_model/sap_schema_ni_174/common_schema.rb +32 -0
  113. data/lib/view_model/sap_schema_ni_1800/common_schema.rb +32 -22
  114. data/lib/view_model/sap_wrapper.rb +4 -0
  115. metadata +4 -2
@@ -81,6 +81,42 @@ module ViewModel
81
81
  def energy_tariff
82
82
  xpath(%w[Meter-Type])
83
83
  end
84
+
85
+ def cylinder_insul_thickness
86
+ xpath(%w[Cylinder-Insulation-Thickness])
87
+ end
88
+
89
+ def cylinder_insulation_type
90
+ xpath(%w[Cylinder-Insulation-Type])
91
+ end
92
+
93
+ def cylinder_size
94
+ xpath(%w[Cylinder-Size])
95
+ end
96
+
97
+ def has_cylinder_thermostat
98
+ xpath(%w[Cylinder-Thermostat])
99
+ end
100
+
101
+ def mech_vent_sys_index_number
102
+ nil
103
+ end
104
+
105
+ def mechanical_vent_data_source
106
+ nil
107
+ end
108
+
109
+ def thermal_store
110
+ nil
111
+ end
112
+
113
+ def water_heating_fuel
114
+ xpath(%w[Water-Heating-Fuel])
115
+ end
116
+
117
+ def ventilation_type
118
+ nil
119
+ end
84
120
  end
85
121
  end
86
122
  end
@@ -20,6 +20,42 @@ module ViewModel
20
20
  end
21
21
  nil
22
22
  end
23
+
24
+ def cylinder_insul_thickness
25
+ xpath(%w[Hot-Water-Store-Insulation-Thickness])
26
+ end
27
+
28
+ def cylinder_insulation_type
29
+ xpath(%w[Hot-Water-Store-Insulation-Type])
30
+ end
31
+
32
+ def cylinder_size
33
+ xpath(%w[Hot-Water-Store-Size])
34
+ end
35
+
36
+ def has_cylinder_thermostat
37
+ xpath(%w[Has-Cylinder-Thermostat])
38
+ end
39
+
40
+ def mech_vent_sys_index_number
41
+ xpath(%w[Mechanical-Vent-System-Index-Number])
42
+ end
43
+
44
+ def mechanical_vent_data_source
45
+ xpath(%w[Mechanical-Ventilation-Data-Source])
46
+ end
47
+
48
+ def thermal_store
49
+ xpath(%w[Thermal-Store])
50
+ end
51
+
52
+ def ventilation_type
53
+ xpath(%w[Ventilation-Type])
54
+ end
55
+
56
+ def water_heating_fuel
57
+ xpath(%w[Water-Fuel-Type])
58
+ end
23
59
  end
24
60
  end
25
61
  end
@@ -244,10 +244,6 @@ module ViewModel
244
244
  xpath(%w[Secondary-Fuel-Type])
245
245
  end
246
246
 
247
- def water_heating_fuel
248
- xpath(%w[Water-Fuel-Type])
249
- end
250
-
251
247
  def type_of_assessment
252
248
  case xpath(%w[Report-Type]).to_i
253
249
  when 1
@@ -377,8 +373,7 @@ module ViewModel
377
373
  end
378
374
 
379
375
  def built_form
380
- built_form_value = xpath(%w[Built-Form])
381
- Helper::XmlEnumsToOutput.xml_value_to_string(built_form_value)
376
+ xpath(%w[Built-Form])
382
377
  end
383
378
 
384
379
  def heat_loss_corridor
@@ -491,10 +486,6 @@ module ViewModel
491
486
  .map(&:content)
492
487
  end
493
488
 
494
- def transaction_type
495
- nil
496
- end
497
-
498
489
  def main_dwelling_construction_age_band_or_year
499
490
  sap_building_parts =
500
491
  @xml_doc.xpath("//SAP-Building-Parts/SAP-Building-Part")
@@ -81,6 +81,42 @@ module ViewModel
81
81
  def energy_tariff
82
82
  xpath(%w[Meter-Type])
83
83
  end
84
+
85
+ def cylinder_insul_thickness
86
+ xpath(%w[Cylinder-Insulation-Thickness])
87
+ end
88
+
89
+ def cylinder_insulation_type
90
+ xpath(%w[Cylinder-Insulation-Type])
91
+ end
92
+
93
+ def cylinder_size
94
+ xpath(%w[Cylinder-Size])
95
+ end
96
+
97
+ def has_cylinder_thermostat
98
+ xpath(%w[Cylinder-Thermostat])
99
+ end
100
+
101
+ def mech_vent_sys_index_number
102
+ nil
103
+ end
104
+
105
+ def mechanical_vent_data_source
106
+ nil
107
+ end
108
+
109
+ def thermal_store
110
+ nil
111
+ end
112
+
113
+ def ventilation_type
114
+ nil
115
+ end
116
+
117
+ def water_heating_fuel
118
+ xpath(%w[Water-Heating-Fuel])
119
+ end
84
120
  end
85
121
  end
86
122
  end
@@ -26,6 +26,42 @@ module ViewModel
26
26
  end
27
27
  nil
28
28
  end
29
+
30
+ def cylinder_insul_thickness
31
+ xpath(%w[Hot-Water-Store-Insulation-Thickness])
32
+ end
33
+
34
+ def cylinder_insulation_type
35
+ xpath(%w[Hot-Water-Store-Insulation-Type])
36
+ end
37
+
38
+ def cylinder_size
39
+ xpath(%w[Hot-Water-Store-Size])
40
+ end
41
+
42
+ def has_cylinder_thermostat
43
+ xpath(%w[Has-Cylinder-Thermostat])
44
+ end
45
+
46
+ def mech_vent_sys_index_number
47
+ xpath(%w[Mechanical-Vent-System-Index-Number])
48
+ end
49
+
50
+ def mechanical_vent_data_source
51
+ xpath(%w[Mechanical-Ventilation-Data-Source])
52
+ end
53
+
54
+ def thermal_store
55
+ xpath(%w[Thermal-Store])
56
+ end
57
+
58
+ def ventilation_type
59
+ xpath(%w[Ventilation-Type])
60
+ end
61
+
62
+ def water_heating_fuel
63
+ xpath(%w[Water-Fuel-Type])
64
+ end
29
65
  end
30
66
  end
31
67
  end
@@ -244,10 +244,6 @@ module ViewModel
244
244
  xpath(%w[Secondary-Fuel-Type])
245
245
  end
246
246
 
247
- def water_heating_fuel
248
- xpath(%w[Water-Fuel-Type])
249
- end
250
-
251
247
  def type_of_assessment
252
248
  case xpath(%w[Report-Type]).to_i
253
249
  when 1
@@ -392,10 +388,6 @@ module ViewModel
392
388
  xpath(%w[Wind-Turbines-Count])
393
389
  end
394
390
 
395
- def unheated_corridor_length
396
- xpath(%w[Unheated-Corridor-Length])
397
- end
398
-
399
391
  def all_main_heating_descriptions
400
392
  @xml_doc.search("Main-Heating/Description").map(&:content)
401
393
  end
@@ -494,10 +486,6 @@ module ViewModel
494
486
  @xml_doc.search("Storey-Height").map(&:content)
495
487
  end
496
488
 
497
- def all_main_heating_energy_efficiency
498
- @xml_doc.search("Main-Heating/Energy-Efficiency-Rating").map(&:content)
499
- end
500
-
501
489
  def all_main_heating_controls_energy_efficiency
502
490
  @xml_doc
503
491
  .search("Main-Heating-Controls/Energy-Efficiency-Rating")
@@ -64,6 +64,42 @@ module ViewModel
64
64
  def energy_tariff
65
65
  xpath(%w[Meter-Type])
66
66
  end
67
+
68
+ def cylinder_insul_thickness
69
+ xpath(%w[Cylinder-Insulation-Thickness])
70
+ end
71
+
72
+ def cylinder_insulation_type
73
+ xpath(%w[Cylinder-Insulation-Type])
74
+ end
75
+
76
+ def cylinder_size
77
+ xpath(%w[Cylinder-Size])
78
+ end
79
+
80
+ def has_cylinder_thermostat
81
+ xpath(%w[Cylinder-Thermostat])
82
+ end
83
+
84
+ def mech_vent_sys_index_number
85
+ nil
86
+ end
87
+
88
+ def mechanical_vent_data_source
89
+ nil
90
+ end
91
+
92
+ def thermal_store
93
+ nil
94
+ end
95
+
96
+ def ventilation_type
97
+ nil
98
+ end
99
+
100
+ def water_heating_fuel
101
+ xpath(%w[Water-Heating-Fuel])
102
+ end
67
103
  end
68
104
  end
69
105
  end
@@ -8,6 +8,42 @@ module ViewModel
8
8
  def construction_year
9
9
  xpath(%w[Construction-Year])
10
10
  end
11
+
12
+ def cylinder_insul_thickness
13
+ xpath(%w[Hot-Water-Store-Insulation-Thickness])
14
+ end
15
+
16
+ def cylinder_insulation_type
17
+ xpath(%w[Hot-Water-Store-Insulation-Type])
18
+ end
19
+
20
+ def cylinder_size
21
+ xpath(%w[Hot-Water-Store-Size])
22
+ end
23
+
24
+ def has_cylinder_thermostat
25
+ xpath(%w[Has-Cylinder-Thermostat])
26
+ end
27
+
28
+ def mech_vent_sys_index_number
29
+ xpath(%w[Mechanical-Vent-System-Index-Number])
30
+ end
31
+
32
+ def mechanical_vent_data_source
33
+ xpath(%w[Mechanical-Ventilation-Data-Source])
34
+ end
35
+
36
+ def thermal_store
37
+ xpath(%w[Thermal-Store])
38
+ end
39
+
40
+ def ventilation_type
41
+ xpath(%w[Ventilation-Type])
42
+ end
43
+
44
+ def water_heating_fuel
45
+ xpath(%w[Water-Fuel-Type])
46
+ end
11
47
  end
12
48
  end
13
49
  end
@@ -243,10 +243,6 @@ module ViewModel
243
243
  xpath(%w[Secondary-Fuel-Type])
244
244
  end
245
245
 
246
- def water_heating_fuel
247
- xpath(%w[Water-Fuel-Type])
248
- end
249
-
250
246
  def type_of_assessment
251
247
  case xpath(%w[Report-Type]).to_i
252
248
  when 1
@@ -64,6 +64,42 @@ module ViewModel
64
64
  def energy_tariff
65
65
  xpath(%w[Meter-Type])
66
66
  end
67
+
68
+ def cylinder_insul_thickness
69
+ xpath(%w[Cylinder-Insulation-Thickness])
70
+ end
71
+
72
+ def cylinder_insulation_type
73
+ xpath(%w[Cylinder-Insulation-Type])
74
+ end
75
+
76
+ def cylinder_size
77
+ xpath(%w[Cylinder-Size])
78
+ end
79
+
80
+ def has_cylinder_thermostat
81
+ xpath(%w[Cylinder-Thermostat])
82
+ end
83
+
84
+ def mech_vent_sys_index_number
85
+ nil
86
+ end
87
+
88
+ def mechanical_vent_data_source
89
+ nil
90
+ end
91
+
92
+ def thermal_store
93
+ nil
94
+ end
95
+
96
+ def ventilation_type
97
+ nil
98
+ end
99
+
100
+ def water_heating_fuel
101
+ xpath(%w[Water-Heating-Fuel])
102
+ end
67
103
  end
68
104
  end
69
105
  end
@@ -8,6 +8,42 @@ module ViewModel
8
8
  def construction_year
9
9
  xpath(%w[Construction-Year])
10
10
  end
11
+
12
+ def cylinder_insul_thickness
13
+ xpath(%w[Hot-Water-Store-Insulation-Thickness])
14
+ end
15
+
16
+ def cylinder_insulation_type
17
+ xpath(%w[Hot-Water-Store-Insulation-Type])
18
+ end
19
+
20
+ def cylinder_size
21
+ xpath(%w[Hot-Water-Store-Size])
22
+ end
23
+
24
+ def has_cylinder_thermostat
25
+ xpath(%w[Has-Cylinder-Thermostat])
26
+ end
27
+
28
+ def mech_vent_sys_index_number
29
+ xpath(%w[Mechanical-Vent-System-Index-Number])
30
+ end
31
+
32
+ def mechanical_vent_data_source
33
+ xpath(%w[Mechanical-Ventilation-Data-Source])
34
+ end
35
+
36
+ def thermal_store
37
+ xpath(%w[Thermal-Store])
38
+ end
39
+
40
+ def ventilation_type
41
+ xpath(%w[Ventilation-Type])
42
+ end
43
+
44
+ def water_heating_fuel
45
+ xpath(%w[Water-Fuel-Type])
46
+ end
11
47
  end
12
48
  end
13
49
  end
@@ -243,10 +243,6 @@ module ViewModel
243
243
  xpath(%w[Secondary-Fuel-Type])
244
244
  end
245
245
 
246
- def water_heating_fuel
247
- xpath(%w[Water-Fuel-Type])
248
- end
249
-
250
246
  def type_of_assessment
251
247
  case xpath(%w[Report-Type]).to_i
252
248
  when 1
@@ -391,10 +387,6 @@ module ViewModel
391
387
  xpath(%w[Wind-Turbines-Count])
392
388
  end
393
389
 
394
- def unheated_corridor_length
395
- xpath(%w[Unheated-Corridor-Length])
396
- end
397
-
398
390
  def all_main_heating_descriptions
399
391
  @xml_doc.search("Main-Heating/Description").map(&:content)
400
392
  end