epb_view_models 1.2.3 → 2.0.0

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.
Files changed (152) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/Gemfile.lock +38 -28
  4. data/epb_view_models.gemspec +1 -1
  5. data/lib/epb_view_models.rb +1 -1
  6. data/lib/presenter/cepc/report.rb +11 -15
  7. data/lib/presenter/cepc/summary.rb +5 -14
  8. data/lib/presenter/dec/report.rb +5 -9
  9. data/lib/presenter/dec/summary.rb +3 -11
  10. data/lib/presenter/dec/xml_summary.rb +2 -2
  11. data/lib/presenter/export/base.rb +4 -4
  12. data/lib/presenter/export/commercial.rb +16 -27
  13. data/lib/presenter/export/domestic.rb +30 -39
  14. data/lib/presenter/rd_sap/domestic_digest.rb +2 -4
  15. data/lib/presenter/rd_sap/report.rb +47 -57
  16. data/lib/presenter/rd_sap/summary.rb +13 -21
  17. data/lib/presenter/sap/domestic_digest.rb +2 -4
  18. data/lib/presenter/sap/report.rb +49 -59
  19. data/lib/presenter/sap/summary.rb +27 -41
  20. data/lib/view_model/cepc31/cepc.rb +4 -44
  21. data/lib/view_model/cepc31/common_schema.rb +1 -1
  22. data/lib/view_model/cepc31/dec.rb +14 -34
  23. data/lib/view_model/cepc40/ac_report.rb +1 -1
  24. data/lib/view_model/cepc40/cepc.rb +6 -30
  25. data/lib/view_model/cepc40/common_schema.rb +1 -1
  26. data/lib/view_model/cepc40/dec.rb +16 -16
  27. data/lib/view_model/cepc50/ac_report.rb +1 -1
  28. data/lib/view_model/cepc50/cepc.rb +6 -10
  29. data/lib/view_model/cepc50/common_schema.rb +1 -1
  30. data/lib/view_model/cepc50/dec.rb +16 -16
  31. data/lib/view_model/cepc51/ac_report.rb +1 -1
  32. data/lib/view_model/cepc51/cepc.rb +6 -6
  33. data/lib/view_model/cepc51/common_schema.rb +1 -1
  34. data/lib/view_model/cepc51/dec.rb +16 -16
  35. data/lib/view_model/cepc60/ac_report.rb +1 -1
  36. data/lib/view_model/cepc60/cepc.rb +6 -10
  37. data/lib/view_model/cepc60/common_schema.rb +1 -1
  38. data/lib/view_model/cepc60/dec.rb +17 -17
  39. data/lib/view_model/cepc70/ac_cert.rb +3 -3
  40. data/lib/view_model/cepc70/ac_report.rb +1 -1
  41. data/lib/view_model/cepc70/cepc.rb +6 -10
  42. data/lib/view_model/cepc70/common_schema.rb +1 -1
  43. data/lib/view_model/cepc70/dec.rb +17 -17
  44. data/lib/view_model/cepc71/ac_cert.rb +3 -3
  45. data/lib/view_model/cepc71/ac_report.rb +1 -1
  46. data/lib/view_model/cepc71/cepc.rb +6 -6
  47. data/lib/view_model/cepc71/common_schema.rb +1 -1
  48. data/lib/view_model/cepc71/dec.rb +17 -17
  49. data/lib/view_model/cepc800/ac_cert.rb +3 -3
  50. data/lib/view_model/cepc800/ac_report.rb +1 -1
  51. data/lib/view_model/cepc800/cepc.rb +6 -11
  52. data/lib/view_model/cepc800/common_schema.rb +1 -1
  53. data/lib/view_model/cepc800/dec.rb +17 -17
  54. data/lib/view_model/cepc_ni800/ac_cert.rb +3 -3
  55. data/lib/view_model/cepc_ni800/ac_report.rb +1 -1
  56. data/lib/view_model/cepc_ni800/cepc.rb +6 -10
  57. data/lib/view_model/cepc_ni800/common_schema.rb +1 -1
  58. data/lib/view_model/cepc_ni800/dec.rb +17 -17
  59. data/lib/view_model/rd_sap_schema_170/common_schema.rb +17 -25
  60. data/lib/view_model/rd_sap_schema_171/common_schema.rb +17 -25
  61. data/lib/view_model/rd_sap_schema_180/common_schema.rb +17 -25
  62. data/lib/view_model/rd_sap_schema_190/common_schema.rb +17 -25
  63. data/lib/view_model/rd_sap_schema_200/common_schema.rb +17 -25
  64. data/lib/view_model/rd_sap_schema_210/common_schema.rb +14 -34
  65. data/lib/view_model/rd_sap_schema_ni_173/common_schema.rb +17 -25
  66. data/lib/view_model/rd_sap_schema_ni_174/common_schema.rb +17 -25
  67. data/lib/view_model/rd_sap_schema_ni_180/common_schema.rb +17 -25
  68. data/lib/view_model/rd_sap_schema_ni_190/common_schema.rb +17 -25
  69. data/lib/view_model/rd_sap_schema_ni_200/common_schema.rb +17 -25
  70. data/lib/view_model/sap_schema_102/common_schema.rb +13 -85
  71. data/lib/view_model/sap_schema_102/rdsap.rb +3 -3
  72. data/lib/view_model/sap_schema_110/common_schema.rb +13 -65
  73. data/lib/view_model/sap_schema_110/rdsap.rb +3 -19
  74. data/lib/view_model/sap_schema_110/sap.rb +1 -1
  75. data/lib/view_model/sap_schema_112/common_schema.rb +13 -65
  76. data/lib/view_model/sap_schema_112/rdsap.rb +3 -19
  77. data/lib/view_model/sap_schema_112/sap.rb +1 -1
  78. data/lib/view_model/sap_schema_120/common_schema.rb +13 -61
  79. data/lib/view_model/sap_schema_120/rdsap.rb +3 -19
  80. data/lib/view_model/sap_schema_120/sap.rb +1 -1
  81. data/lib/view_model/sap_schema_130/common_schema.rb +13 -61
  82. data/lib/view_model/sap_schema_130/rdsap.rb +3 -19
  83. data/lib/view_model/sap_schema_130/sap.rb +1 -1
  84. data/lib/view_model/sap_schema_140/common_schema.rb +14 -58
  85. data/lib/view_model/sap_schema_140/rdsap.rb +3 -19
  86. data/lib/view_model/sap_schema_140/sap.rb +1 -1
  87. data/lib/view_model/sap_schema_141/common_schema.rb +14 -58
  88. data/lib/view_model/sap_schema_141/rdsap.rb +3 -19
  89. data/lib/view_model/sap_schema_141/sap.rb +1 -1
  90. data/lib/view_model/sap_schema_142/common_schema.rb +14 -58
  91. data/lib/view_model/sap_schema_142/rdsap.rb +3 -19
  92. data/lib/view_model/sap_schema_142/sap.rb +1 -1
  93. data/lib/view_model/sap_schema_150/common_schema.rb +14 -58
  94. data/lib/view_model/sap_schema_150/rdsap.rb +3 -19
  95. data/lib/view_model/sap_schema_150/sap.rb +1 -1
  96. data/lib/view_model/sap_schema_160/common_schema.rb +14 -58
  97. data/lib/view_model/sap_schema_160/rdsap.rb +3 -19
  98. data/lib/view_model/sap_schema_160/sap.rb +1 -1
  99. data/lib/view_model/sap_schema_161/common_schema.rb +14 -58
  100. data/lib/view_model/sap_schema_161/rdsap.rb +3 -19
  101. data/lib/view_model/sap_schema_161/sap.rb +1 -1
  102. data/lib/view_model/sap_schema_162/common_schema.rb +14 -58
  103. data/lib/view_model/sap_schema_162/rdsap.rb +3 -19
  104. data/lib/view_model/sap_schema_162/sap.rb +1 -1
  105. data/lib/view_model/sap_schema_163/common_schema.rb +13 -53
  106. data/lib/view_model/sap_schema_163/rdsap.rb +3 -19
  107. data/lib/view_model/sap_schema_163/sap.rb +1 -1
  108. data/lib/view_model/sap_schema_170/common_schema.rb +13 -65
  109. data/lib/view_model/sap_schema_171/common_schema.rb +13 -65
  110. data/lib/view_model/sap_schema_1800/common_schema.rb +12 -64
  111. data/lib/view_model/sap_schema_1900/common_schema.rb +10 -50
  112. data/lib/view_model/sap_schema_1910/common_schema.rb +10 -50
  113. data/lib/view_model/sap_schema_ni_112/common_schema.rb +13 -61
  114. data/lib/view_model/sap_schema_ni_112/rdsap.rb +3 -19
  115. data/lib/view_model/sap_schema_ni_112/sap.rb +1 -1
  116. data/lib/view_model/sap_schema_ni_120/common_schema.rb +13 -61
  117. data/lib/view_model/sap_schema_ni_120/rdsap.rb +3 -19
  118. data/lib/view_model/sap_schema_ni_120/sap.rb +1 -1
  119. data/lib/view_model/sap_schema_ni_130/common_schema.rb +13 -61
  120. data/lib/view_model/sap_schema_ni_130/rdsap.rb +3 -19
  121. data/lib/view_model/sap_schema_ni_130/sap.rb +1 -1
  122. data/lib/view_model/sap_schema_ni_140/common_schema.rb +14 -58
  123. data/lib/view_model/sap_schema_ni_140/rdsap.rb +3 -19
  124. data/lib/view_model/sap_schema_ni_140/sap.rb +1 -1
  125. data/lib/view_model/sap_schema_ni_141/common_schema.rb +14 -58
  126. data/lib/view_model/sap_schema_ni_141/rdsap.rb +3 -19
  127. data/lib/view_model/sap_schema_ni_141/sap.rb +1 -1
  128. data/lib/view_model/sap_schema_ni_142/common_schema.rb +14 -58
  129. data/lib/view_model/sap_schema_ni_142/rdsap.rb +3 -19
  130. data/lib/view_model/sap_schema_ni_142/sap.rb +1 -1
  131. data/lib/view_model/sap_schema_ni_150/common_schema.rb +14 -58
  132. data/lib/view_model/sap_schema_ni_150/rdsap.rb +3 -19
  133. data/lib/view_model/sap_schema_ni_150/sap.rb +1 -1
  134. data/lib/view_model/sap_schema_ni_160/common_schema.rb +14 -54
  135. data/lib/view_model/sap_schema_ni_160/rdsap.rb +3 -19
  136. data/lib/view_model/sap_schema_ni_160/sap.rb +1 -1
  137. data/lib/view_model/sap_schema_ni_161/common_schema.rb +14 -50
  138. data/lib/view_model/sap_schema_ni_161/rdsap.rb +3 -19
  139. data/lib/view_model/sap_schema_ni_161/sap.rb +1 -1
  140. data/lib/view_model/sap_schema_ni_170/common_schema.rb +14 -54
  141. data/lib/view_model/sap_schema_ni_170/rdsap.rb +3 -19
  142. data/lib/view_model/sap_schema_ni_170/sap.rb +1 -1
  143. data/lib/view_model/sap_schema_ni_171/common_schema.rb +14 -54
  144. data/lib/view_model/sap_schema_ni_171/rdsap.rb +3 -19
  145. data/lib/view_model/sap_schema_ni_171/sap.rb +1 -1
  146. data/lib/view_model/sap_schema_ni_172/common_schema.rb +14 -54
  147. data/lib/view_model/sap_schema_ni_172/rdsap.rb +3 -23
  148. data/lib/view_model/sap_schema_ni_172/sap.rb +1 -1
  149. data/lib/view_model/sap_schema_ni_173/common_schema.rb +10 -78
  150. data/lib/view_model/sap_schema_ni_174/common_schema.rb +10 -78
  151. data/lib/view_model/sap_schema_ni_1800/common_schema.rb +10 -78
  152. metadata +4 -4
@@ -90,7 +90,7 @@ module ViewModel
90
90
  end
91
91
 
92
92
  def related_party_disclosure_number
93
- xpath(%w[Related-Party-Disclosure-Number]).to_i
93
+ xpath(%w[Related-Party-Disclosure-Number])&.to_i
94
94
  end
95
95
 
96
96
  def improvements
@@ -149,11 +149,11 @@ module ViewModel
149
149
  end
150
150
 
151
151
  def potential_energy_rating
152
- xpath(%w[Energy-Rating-Potential]).to_i
152
+ xpath(%w[Energy-Rating-Potential])&.to_i
153
153
  end
154
154
 
155
155
  def current_energy_rating
156
- xpath(%w[Energy-Rating-Current]).to_i
156
+ xpath(%w[Energy-Rating-Current])&.to_i
157
157
  end
158
158
 
159
159
  def primary_energy_use
@@ -180,10 +180,6 @@ module ViewModel
180
180
  xpath(%w[Construction-Year])
181
181
  end
182
182
 
183
- def tenure
184
- nil
185
- end
186
-
187
183
  def transaction_type
188
184
  xpath(%w[Transaction-Type])
189
185
  end
@@ -198,19 +194,19 @@ module ViewModel
198
194
 
199
195
  def impact_of_cavity_insulation
200
196
  if xpath(%w[Impact-Of-Cavity-Insulation])
201
- xpath(%w[Impact-Of-Cavity-Insulation]).to_i
197
+ xpath(%w[Impact-Of-Cavity-Insulation])&.to_i
202
198
  end
203
199
  end
204
200
 
205
201
  def impact_of_loft_insulation
206
202
  if xpath(%w[Impact-Of-Loft-Insulation])
207
- xpath(%w[Impact-Of-Loft-Insulation]).to_i
203
+ xpath(%w[Impact-Of-Loft-Insulation])&.to_i
208
204
  end
209
205
  end
210
206
 
211
207
  def impact_of_solid_wall_insulation
212
208
  if xpath(%w[Impact-Of-Solid-Wall-Insulation])
213
- xpath(%w[Impact-Of-Solid-Wall-Insulation]).to_i
209
+ xpath(%w[Impact-Of-Solid-Wall-Insulation])&.to_i
214
210
  end
215
211
  end
216
212
 
@@ -227,7 +223,7 @@ module ViewModel
227
223
  end
228
224
 
229
225
  def type_of_assessment
230
- case xpath(%w[Report-Type]).to_i
226
+ case xpath(%w[Report-Type])&.to_i
231
227
  when 1
232
228
  "HCR"
233
229
  when 2
@@ -238,21 +234,17 @@ module ViewModel
238
234
  end
239
235
 
240
236
  def environmental_impact_current
241
- xpath(%w[Environmental-Impact-Current])
237
+ xpath(%w[Environmental-Impact-Current])&.to_i
242
238
  end
243
239
 
244
240
  def environmental_impact_potential
245
- xpath(%w[Environmental-Impact-Potential])
241
+ xpath(%w[Environmental-Impact-Potential])&.to_i
246
242
  end
247
243
 
248
244
  def co2_emissions_current_per_floor_area
249
245
  xpath(%w[CO2-Emissions-Current-Per-Floor-Area])
250
246
  end
251
247
 
252
- def mains_gas
253
- nil
254
- end
255
-
256
248
  def level
257
249
  xpath(%w[Level])
258
250
  end
@@ -262,10 +254,6 @@ module ViewModel
262
254
  flat_level_code == "3" ? "Y" : "N"
263
255
  end
264
256
 
265
- def storey_count
266
- nil
267
- end
268
-
269
257
  def main_heating_controls
270
258
  xpath(%w[Main-Heating-Controls Description])
271
259
  end
@@ -274,32 +262,20 @@ module ViewModel
274
262
  xpath(%w[Multiple-Glazed-Proportion])
275
263
  end
276
264
 
277
- def glazed_area
278
- nil
279
- end
280
-
281
- def habitable_room_count
282
- nil
283
- end
284
-
285
- def heated_room_count
286
- nil
287
- end
288
-
289
265
  def low_energy_lighting
290
266
  xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Percentage])
291
267
  end
292
268
 
293
269
  def fixed_lighting_outlets_count
294
- xpath(%w[Fixed-Lighting-Outlets-Count])
270
+ xpath(%w[Fixed-Lighting-Outlets-Count])&.to_i
295
271
  end
296
272
 
297
273
  def low_energy_fixed_lighting_outlets_count
298
- xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Count])
274
+ xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Count])&.to_i
299
275
  end
300
276
 
301
277
  def open_fireplaces_count
302
- xpath(%w[Open-Fireplaces-Count])
278
+ xpath(%w[Open-Fireplaces-Count])&.to_i
303
279
  end
304
280
 
305
281
  def hot_water_description
@@ -350,16 +326,12 @@ module ViewModel
350
326
  xpath(%w[Lighting Environmental-Efficiency-Rating])
351
327
  end
352
328
 
353
- def photovoltaic_roof_area_percent
354
- nil
355
- end
356
-
357
329
  def built_form
358
330
  xpath(%w[Built-Form])
359
331
  end
360
332
 
361
333
  def wind_turbine_count
362
- xpath(%w[Wind-Turbines-Count])
334
+ xpath(%w[Wind-Turbines-Count])&.to_i
363
335
  end
364
336
 
365
337
  def heat_loss_corridor
@@ -375,7 +347,7 @@ module ViewModel
375
347
  end
376
348
 
377
349
  def extensions_count
378
- xpath(%w[Extensions-Count])
350
+ xpath(%w[Extensions-Count])&.to_i
379
351
  end
380
352
 
381
353
  def all_main_heating_controls_descriptions
@@ -422,14 +394,6 @@ module ViewModel
422
394
  @xml_doc.search("Main-Heating/Energy-Efficiency-Rating").map(&:content)
423
395
  end
424
396
 
425
- def solar_water_heating_flag
426
- nil
427
- end
428
-
429
- def mechanical_ventilation
430
- nil
431
- end
432
-
433
397
  def main_dwelling_construction_age_band_or_year
434
398
  sap_building_parts =
435
399
  @xml_doc.xpath("//SAP-Building-Parts/SAP-Building-Part")
@@ -485,14 +449,6 @@ module ViewModel
485
449
  .search("Main-Heating-Controls/Environmental-Efficiency-Rating")
486
450
  .map(&:content)
487
451
  end
488
-
489
- def gas_smart_meter_present
490
- nil
491
- end
492
-
493
- def electricity_smart_meter_present
494
- nil
495
- end
496
452
  end
497
453
  end
498
454
  end
@@ -30,11 +30,11 @@ module ViewModel
30
30
  end
31
31
 
32
32
  def habitable_room_count
33
- xpath(%w[Habitable-Room-Count])
33
+ xpath(%w[Habitable-Room-Count])&.to_i
34
34
  end
35
35
 
36
36
  def heated_room_count
37
- xpath(%w[Heated-Room-Count])
37
+ xpath(%w[Heated-Room-Count])&.to_i
38
38
  end
39
39
 
40
40
  def photovoltaic_roof_area_percent
@@ -54,7 +54,7 @@ module ViewModel
54
54
  end
55
55
 
56
56
  def storey_count
57
- xpath(%w[Storey-Count])
57
+ xpath(%w[Storey-Count])&.to_i
58
58
  end
59
59
 
60
60
  def energy_tariff
@@ -81,22 +81,6 @@ module ViewModel
81
81
  xpath(%w[Cylinder-Thermostat])
82
82
  end
83
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
84
  def water_heating_fuel
101
85
  xpath(%w[Water-Heating-Fuel])
102
86
  end
@@ -26,7 +26,7 @@ module ViewModel
26
26
  end
27
27
 
28
28
  def mech_vent_sys_index_number
29
- xpath(%w[Mechanical-Vent-System-Index-Number])
29
+ xpath(%w[Mechanical-Vent-System-Index-Number])&.to_i
30
30
  end
31
31
 
32
32
  def mechanical_vent_data_source
@@ -85,7 +85,7 @@ module ViewModel
85
85
  end
86
86
 
87
87
  def related_party_disclosure_number
88
- xpath(%w[Related-Party-Disclosure-Number]).to_i
88
+ xpath(%w[Related-Party-Disclosure-Number])&.to_i
89
89
  end
90
90
 
91
91
  def improvements
@@ -144,11 +144,11 @@ module ViewModel
144
144
  end
145
145
 
146
146
  def potential_energy_rating
147
- xpath(%w[Energy-Rating-Potential]).to_i
147
+ xpath(%w[Energy-Rating-Potential])&.to_i
148
148
  end
149
149
 
150
150
  def current_energy_rating
151
- xpath(%w[Energy-Rating-Current]).to_i
151
+ xpath(%w[Energy-Rating-Current])&.to_i
152
152
  end
153
153
 
154
154
  def primary_energy_use
@@ -175,10 +175,6 @@ module ViewModel
175
175
  xpath(%w[Construction-Age-Band])
176
176
  end
177
177
 
178
- def tenure
179
- nil
180
- end
181
-
182
178
  def transaction_type
183
179
  xpath(%w[Transaction-Type])
184
180
  end
@@ -193,19 +189,19 @@ module ViewModel
193
189
 
194
190
  def impact_of_cavity_insulation
195
191
  if xpath(%w[Impact-Of-Cavity-Insulation])
196
- xpath(%w[Impact-Of-Cavity-Insulation]).to_i
192
+ xpath(%w[Impact-Of-Cavity-Insulation])&.to_i
197
193
  end
198
194
  end
199
195
 
200
196
  def impact_of_loft_insulation
201
197
  if xpath(%w[Impact-Of-Loft-Insulation])
202
- xpath(%w[Impact-Of-Loft-Insulation]).to_i
198
+ xpath(%w[Impact-Of-Loft-Insulation])&.to_i
203
199
  end
204
200
  end
205
201
 
206
202
  def impact_of_solid_wall_insulation
207
203
  if xpath(%w[Impact-Of-Solid-Wall-Insulation])
208
- xpath(%w[Impact-Of-Solid-Wall-Insulation]).to_i
204
+ xpath(%w[Impact-Of-Solid-Wall-Insulation])&.to_i
209
205
  end
210
206
  end
211
207
 
@@ -222,7 +218,7 @@ module ViewModel
222
218
  end
223
219
 
224
220
  def type_of_assessment
225
- case xpath(%w[Report-Type]).to_i
221
+ case xpath(%w[Report-Type])&.to_i
226
222
  when 1
227
223
  "HCR"
228
224
  when 2
@@ -233,21 +229,17 @@ module ViewModel
233
229
  end
234
230
 
235
231
  def environmental_impact_current
236
- xpath(%w[Environmental-Impact-Current])
232
+ xpath(%w[Environmental-Impact-Current])&.to_i
237
233
  end
238
234
 
239
235
  def environmental_impact_potential
240
- xpath(%w[Environmental-Impact-Potential])
236
+ xpath(%w[Environmental-Impact-Potential])&.to_i
241
237
  end
242
238
 
243
239
  def co2_emissions_current_per_floor_area
244
240
  xpath(%w[CO2-Emissions-Current-Per-Floor-Area])
245
241
  end
246
242
 
247
- def mains_gas
248
- nil
249
- end
250
-
251
243
  def level
252
244
  xpath(%w[Level])
253
245
  end
@@ -257,10 +249,6 @@ module ViewModel
257
249
  flat_level_code == "3" ? "Y" : "N"
258
250
  end
259
251
 
260
- def storey_count
261
- nil
262
- end
263
-
264
252
  def main_heating_controls
265
253
  xpath(%w[Main-Heating-Controls Description])
266
254
  end
@@ -273,28 +261,20 @@ module ViewModel
273
261
  xpath(%w[Glazed-Area])
274
262
  end
275
263
 
276
- def habitable_room_count
277
- nil
278
- end
279
-
280
- def heated_room_count
281
- nil
282
- end
283
-
284
264
  def low_energy_lighting
285
265
  xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Percentage])
286
266
  end
287
267
 
288
268
  def fixed_lighting_outlets_count
289
- xpath(%w[Fixed-Lighting-Outlets-Count])
269
+ xpath(%w[Fixed-Lighting-Outlets-Count])&.to_i
290
270
  end
291
271
 
292
272
  def low_energy_fixed_lighting_outlets_count
293
- xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Count])
273
+ xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Count])&.to_i
294
274
  end
295
275
 
296
276
  def open_fireplaces_count
297
- xpath(%w[Open-Fireplaces-Count])
277
+ xpath(%w[Open-Fireplaces-Count])&.to_i
298
278
  end
299
279
 
300
280
  def hot_water_description
@@ -345,16 +325,12 @@ module ViewModel
345
325
  xpath(%w[Lighting Environmental-Efficiency-Rating])
346
326
  end
347
327
 
348
- def photovoltaic_roof_area_percent
349
- nil
350
- end
351
-
352
328
  def built_form
353
329
  xpath(%w[Built-Form])
354
330
  end
355
331
 
356
332
  def wind_turbine_count
357
- xpath(%w[Wind-Turbines-Count])
333
+ xpath(%w[Wind-Turbines-Count])&.to_i
358
334
  end
359
335
 
360
336
  def heat_loss_corridor
@@ -374,7 +350,7 @@ module ViewModel
374
350
  end
375
351
 
376
352
  def extensions_count
377
- xpath(%w[Extensions-Count])
353
+ xpath(%w[Extensions-Count])&.to_i
378
354
  end
379
355
 
380
356
  def report_type
@@ -417,14 +393,6 @@ module ViewModel
417
393
  @xml_doc.search("Main-Heating/Energy-Efficiency-Rating").map(&:content)
418
394
  end
419
395
 
420
- def solar_water_heating_flag
421
- nil
422
- end
423
-
424
- def mechanical_ventilation
425
- nil
426
- end
427
-
428
396
  def main_dwelling_construction_age_band_or_year
429
397
  sap_building_parts =
430
398
  @xml_doc.xpath("//SAP-Building-Parts/SAP-Building-Part")
@@ -480,14 +448,6 @@ module ViewModel
480
448
  .search("Main-Heating-Controls/Environmental-Efficiency-Rating")
481
449
  .map(&:content)
482
450
  end
483
-
484
- def gas_smart_meter_present
485
- nil
486
- end
487
-
488
- def electricity_smart_meter_present
489
- nil
490
- end
491
451
  end
492
452
  end
493
453
  end
@@ -34,11 +34,11 @@ module ViewModel
34
34
  end
35
35
 
36
36
  def habitable_room_count
37
- xpath(%w[Habitable-Room-Count])
37
+ xpath(%w[Habitable-Room-Count])&.to_i
38
38
  end
39
39
 
40
40
  def heated_room_count
41
- xpath(%w[Heated-Room-Count])
41
+ xpath(%w[Heated-Room-Count])&.to_i
42
42
  end
43
43
 
44
44
  def photovoltaic_roof_area_percent
@@ -58,7 +58,7 @@ module ViewModel
58
58
  end
59
59
 
60
60
  def storey_count
61
- xpath(%w[Storey-Count])
61
+ xpath(%w[Storey-Count])&.to_i
62
62
  end
63
63
 
64
64
  def energy_tariff
@@ -81,22 +81,6 @@ module ViewModel
81
81
  xpath(%w[Cylinder-Thermostat])
82
82
  end
83
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
84
  def water_heating_fuel
101
85
  xpath(%w[Water-Heating-Fuel])
102
86
  end
@@ -35,7 +35,7 @@ module ViewModel
35
35
  end
36
36
 
37
37
  def mech_vent_sys_index_number
38
- xpath(%w[Mechanical-Vent-System-Index-Number])
38
+ xpath(%w[Mechanical-Vent-System-Index-Number])&.to_i
39
39
  end
40
40
 
41
41
  def mechanical_vent_data_source
@@ -81,7 +81,7 @@ module ViewModel
81
81
  end
82
82
 
83
83
  def related_party_disclosure_number
84
- xpath(%w[Related-Party-Disclosure-Number]).to_i
84
+ xpath(%w[Related-Party-Disclosure-Number])&.to_i
85
85
  end
86
86
 
87
87
  def improvements
@@ -140,11 +140,11 @@ module ViewModel
140
140
  end
141
141
 
142
142
  def potential_energy_rating
143
- xpath(%w[Energy-Rating-Potential]).to_i
143
+ xpath(%w[Energy-Rating-Potential])&.to_i
144
144
  end
145
145
 
146
146
  def current_energy_rating
147
- xpath(%w[Energy-Rating-Current]).to_i
147
+ xpath(%w[Energy-Rating-Current])&.to_i
148
148
  end
149
149
 
150
150
  def primary_energy_use
@@ -189,19 +189,19 @@ module ViewModel
189
189
 
190
190
  def impact_of_cavity_insulation
191
191
  if xpath(%w[Impact-Of-Cavity-Insulation])
192
- xpath(%w[Impact-Of-Cavity-Insulation]).to_i
192
+ xpath(%w[Impact-Of-Cavity-Insulation])&.to_i
193
193
  end
194
194
  end
195
195
 
196
196
  def impact_of_loft_insulation
197
197
  if xpath(%w[Impact-Of-Loft-Insulation])
198
- xpath(%w[Impact-Of-Loft-Insulation]).to_i
198
+ xpath(%w[Impact-Of-Loft-Insulation])&.to_i
199
199
  end
200
200
  end
201
201
 
202
202
  def impact_of_solid_wall_insulation
203
203
  if xpath(%w[Impact-Of-Solid-Wall-Insulation])
204
- xpath(%w[Impact-Of-Solid-Wall-Insulation]).to_i
204
+ xpath(%w[Impact-Of-Solid-Wall-Insulation])&.to_i
205
205
  end
206
206
  end
207
207
 
@@ -218,7 +218,7 @@ module ViewModel
218
218
  end
219
219
 
220
220
  def type_of_assessment
221
- case xpath(%w[Report-Type]).to_i
221
+ case xpath(%w[Report-Type])&.to_i
222
222
  when 1
223
223
  "HCR"
224
224
  when 2
@@ -229,21 +229,17 @@ module ViewModel
229
229
  end
230
230
 
231
231
  def environmental_impact_current
232
- xpath(%w[Environmental-Impact-Current])
232
+ xpath(%w[Environmental-Impact-Current])&.to_i
233
233
  end
234
234
 
235
235
  def environmental_impact_potential
236
- xpath(%w[Environmental-Impact-Potential])
236
+ xpath(%w[Environmental-Impact-Potential])&.to_i
237
237
  end
238
238
 
239
239
  def co2_emissions_current_per_floor_area
240
240
  xpath(%w[CO2-Emissions-Current-Per-Floor-Area])
241
241
  end
242
242
 
243
- def mains_gas
244
- nil
245
- end
246
-
247
243
  def level
248
244
  xpath(%w[Level])
249
245
  end
@@ -253,10 +249,6 @@ module ViewModel
253
249
  flat_level_code == "3" ? "Y" : "N"
254
250
  end
255
251
 
256
- def storey_count
257
- nil
258
- end
259
-
260
252
  def main_heating_controls
261
253
  xpath(%w[Main-Heating-Controls Description])
262
254
  end
@@ -269,28 +261,20 @@ module ViewModel
269
261
  xpath(%w[Glazed-Area])
270
262
  end
271
263
 
272
- def habitable_room_count
273
- nil
274
- end
275
-
276
- def heated_room_count
277
- nil
278
- end
279
-
280
264
  def low_energy_lighting
281
265
  xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Percentage])
282
266
  end
283
267
 
284
268
  def fixed_lighting_outlets_count
285
- xpath(%w[Fixed-Lighting-Outlets-Count])
269
+ xpath(%w[Fixed-Lighting-Outlets-Count])&.to_i
286
270
  end
287
271
 
288
272
  def low_energy_fixed_lighting_outlets_count
289
- xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Count])
273
+ xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Count])&.to_i
290
274
  end
291
275
 
292
276
  def open_fireplaces_count
293
- xpath(%w[Open-Fireplaces-Count])
277
+ xpath(%w[Open-Fireplaces-Count])&.to_i
294
278
  end
295
279
 
296
280
  def hot_water_description
@@ -341,16 +325,12 @@ module ViewModel
341
325
  xpath(%w[Lighting Environmental-Efficiency-Rating])
342
326
  end
343
327
 
344
- def photovoltaic_roof_area_percent
345
- nil
346
- end
347
-
348
328
  def built_form
349
329
  xpath(%w[Built-Form])
350
330
  end
351
331
 
352
332
  def wind_turbine_count
353
- xpath(%w[Wind-Turbines-Count])
333
+ xpath(%w[Wind-Turbines-Count])&.to_i
354
334
  end
355
335
 
356
336
  def heat_loss_corridor
@@ -366,7 +346,7 @@ module ViewModel
366
346
  end
367
347
 
368
348
  def extensions_count
369
- xpath(%w[Extensions-Count])
349
+ xpath(%w[Extensions-Count])&.to_i
370
350
  end
371
351
 
372
352
  def all_main_heating_controls_descriptions
@@ -413,14 +393,6 @@ module ViewModel
413
393
  @xml_doc.search("Main-Heating/Energy-Efficiency-Rating").map(&:content)
414
394
  end
415
395
 
416
- def solar_water_heating_flag
417
- nil
418
- end
419
-
420
- def mechanical_ventilation
421
- nil
422
- end
423
-
424
396
  def main_dwelling_construction_age_band_or_year
425
397
  sap_building_parts =
426
398
  @xml_doc.xpath("//SAP-Building-Parts/SAP-Building-Part")
@@ -476,14 +448,6 @@ module ViewModel
476
448
  .search("Main-Heating-Controls/Environmental-Efficiency-Rating")
477
449
  .map(&:content)
478
450
  end
479
-
480
- def gas_smart_meter_present
481
- nil
482
- end
483
-
484
- def electricity_smart_meter_present
485
- nil
486
- end
487
451
  end
488
452
  end
489
453
  end
@@ -34,11 +34,11 @@ module ViewModel
34
34
  end
35
35
 
36
36
  def habitable_room_count
37
- xpath(%w[Habitable-Room-Count])
37
+ xpath(%w[Habitable-Room-Count])&.to_i
38
38
  end
39
39
 
40
40
  def heated_room_count
41
- xpath(%w[Heated-Room-Count])
41
+ xpath(%w[Heated-Room-Count])&.to_i
42
42
  end
43
43
 
44
44
  def photovoltaic_roof_area_percent
@@ -58,7 +58,7 @@ module ViewModel
58
58
  end
59
59
 
60
60
  def storey_count
61
- xpath(%w[Storey-Count])
61
+ xpath(%w[Storey-Count])&.to_i
62
62
  end
63
63
 
64
64
  def energy_tariff
@@ -81,22 +81,6 @@ module ViewModel
81
81
  xpath(%w[Cylinder-Thermostat])
82
82
  end
83
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
84
  def water_heating_fuel
101
85
  xpath(%w[Water-Heating-Fuel])
102
86
  end