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
@@ -151,11 +151,11 @@ module ViewModel
151
151
  end
152
152
 
153
153
  def potential_energy_rating
154
- xpath(%w[Energy-Rating-Potential]).to_i
154
+ xpath(%w[Energy-Rating-Potential])&.to_i
155
155
  end
156
156
 
157
157
  def current_energy_rating
158
- xpath(%w[Energy-Rating-Current]).to_i
158
+ xpath(%w[Energy-Rating-Current])&.to_i
159
159
  end
160
160
 
161
161
  def estimated_energy_cost; end
@@ -192,40 +192,40 @@ module ViewModel
192
192
 
193
193
  def impact_of_cavity_insulation
194
194
  if xpath(%w[Impact-Of-Cavity-Insulation])
195
- xpath(%w[Impact-Of-Cavity-Insulation]).to_i
195
+ xpath(%w[Impact-Of-Cavity-Insulation])&.to_i
196
196
  end
197
197
  end
198
198
 
199
199
  def impact_of_loft_insulation
200
200
  if xpath(%w[Impact-Of-Loft-Insulation])
201
- xpath(%w[Impact-Of-Loft-Insulation]).to_i
201
+ xpath(%w[Impact-Of-Loft-Insulation])&.to_i
202
202
  end
203
203
  end
204
204
 
205
205
  def impact_of_solid_wall_insulation
206
206
  if xpath(%w[Impact-Of-Solid-Wall-Insulation])
207
- xpath(%w[Impact-Of-Solid-Wall-Insulation]).to_i
207
+ xpath(%w[Impact-Of-Solid-Wall-Insulation])&.to_i
208
208
  end
209
209
  end
210
210
 
211
211
  def habitable_room_count
212
- xpath(%w[Habitable-Room-Count])
212
+ xpath(%w[Habitable-Room-Count])&.to_i
213
213
  end
214
214
 
215
215
  def energy_rating_current
216
- xpath(%w[Energy-Rating-Current])
216
+ xpath(%w[Energy-Rating-Current])&.to_i
217
217
  end
218
218
 
219
219
  def energy_rating_potential
220
- xpath(%w[Energy-Rating-Potential])
220
+ xpath(%w[Energy-Rating-Potential])&.to_i
221
221
  end
222
222
 
223
223
  def environmental_impact_current
224
- xpath(%w[Environmental-Impact-Current])
224
+ xpath(%w[Environmental-Impact-Current])&.to_i
225
225
  end
226
226
 
227
227
  def environmental_impact_potential
228
- xpath(%w[Environmental-Impact-Potential])
228
+ xpath(%w[Environmental-Impact-Potential])&.to_i
229
229
  end
230
230
 
231
231
  def primary_energy_use
@@ -297,7 +297,7 @@ module ViewModel
297
297
  end
298
298
 
299
299
  def storey_count
300
- xpath(%w[Storey-Count])
300
+ xpath(%w[Storey-Count])&.to_i
301
301
  end
302
302
 
303
303
  def building_part_number
@@ -384,7 +384,7 @@ module ViewModel
384
384
  end
385
385
 
386
386
  def heated_room_count
387
- xpath(%w[Heated-Room-Count])
387
+ xpath(%w[Heated-Room-Count])&.to_i
388
388
  end
389
389
 
390
390
  def low_energy_lighting
@@ -392,15 +392,15 @@ module ViewModel
392
392
  end
393
393
 
394
394
  def fixed_lighting_outlets_count
395
- xpath(%w[Fixed-Lighting-Outlets-Count])
395
+ xpath(%w[Fixed-Lighting-Outlets-Count])&.to_i
396
396
  end
397
397
 
398
398
  def low_energy_fixed_lighting_outlets_count
399
- xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Count])
399
+ xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Count])&.to_i
400
400
  end
401
401
 
402
402
  def open_fireplaces_count
403
- xpath(%w[Open-Fireplaces-Count])
403
+ xpath(%w[Open-Fireplaces-Count])&.to_i
404
404
  end
405
405
 
406
406
  def hot_water_description
@@ -416,7 +416,7 @@ module ViewModel
416
416
  end
417
417
 
418
418
  def wind_turbine_count
419
- xpath(%w[Wind-Turbines-Count])
419
+ xpath(%w[Wind-Turbines-Count])&.to_i
420
420
  end
421
421
 
422
422
  def heat_loss_corridor
@@ -472,7 +472,7 @@ module ViewModel
472
472
  end
473
473
 
474
474
  def extensions_count
475
- xpath(%w[Extensions-Count])
475
+ xpath(%w[Extensions-Count])&.to_i
476
476
  end
477
477
 
478
478
  def report_type
@@ -572,14 +572,6 @@ module ViewModel
572
572
  def has_cylinder_thermostat
573
573
  xpath(%w[Cylinder-Thermostat])
574
574
  end
575
-
576
- def gas_smart_meter_present
577
- nil
578
- end
579
-
580
- def electricity_smart_meter_present
581
- nil
582
- end
583
575
  end
584
576
  end
585
577
  end
@@ -89,10 +89,6 @@ module ViewModel
89
89
  xpath(%w[Related-Party-Disclosure])
90
90
  end
91
91
 
92
- def related_party_disclosure_number
93
- nil
94
- end
95
-
96
92
  def improvements
97
93
  @xml_doc
98
94
  .search("Suggested-Improvements/Improvement")
@@ -164,11 +160,11 @@ module ViewModel
164
160
  end
165
161
 
166
162
  def potential_energy_rating
167
- xpath(%w[Energy-Rating-Potential]).to_i
163
+ xpath(%w[Energy-Rating-Potential])&.to_i
168
164
  end
169
165
 
170
166
  def current_energy_rating
171
- xpath(%w[Energy-Rating-Current]).to_i
167
+ xpath(%w[Energy-Rating-Current])&.to_i
172
168
  end
173
169
 
174
170
  def primary_energy_use
@@ -196,14 +192,6 @@ module ViewModel
196
192
  xpath(%w[Construction-Year])
197
193
  end
198
194
 
199
- def tenure
200
- nil
201
- end
202
-
203
- def transaction_type
204
- nil
205
- end
206
-
207
195
  def current_space_heating_demand
208
196
  xpath(%w[Space-Heating-Existing-Dwelling])
209
197
  end
@@ -214,19 +202,19 @@ module ViewModel
214
202
 
215
203
  def impact_of_cavity_insulation
216
204
  if xpath(%w[Impact-Of-Cavity-Insulation])
217
- xpath(%w[Impact-Of-Cavity-Insulation]).to_i
205
+ xpath(%w[Impact-Of-Cavity-Insulation])&.to_i
218
206
  end
219
207
  end
220
208
 
221
209
  def impact_of_loft_insulation
222
210
  if xpath(%w[Impact-Of-Loft-Insulation])
223
- xpath(%w[Impact-Of-Loft-Insulation]).to_i
211
+ xpath(%w[Impact-Of-Loft-Insulation])&.to_i
224
212
  end
225
213
  end
226
214
 
227
215
  def impact_of_solid_wall_insulation
228
216
  if xpath(%w[Impact-Of-Solid-Wall-Insulation])
229
- xpath(%w[Impact-Of-Solid-Wall-Insulation]).to_i
217
+ xpath(%w[Impact-Of-Solid-Wall-Insulation])&.to_i
230
218
  end
231
219
  end
232
220
 
@@ -243,7 +231,7 @@ module ViewModel
243
231
  end
244
232
 
245
233
  def type_of_assessment
246
- case xpath(%w[Report-Type]).to_i
234
+ case xpath(%w[Report-Type])&.to_i
247
235
  when 1
248
236
  "HCR"
249
237
  when 2
@@ -254,21 +242,17 @@ module ViewModel
254
242
  end
255
243
 
256
244
  def environmental_impact_current
257
- xpath(%w[Environmental-Impact-Current])
245
+ xpath(%w[Environmental-Impact-Current])&.to_i
258
246
  end
259
247
 
260
248
  def environmental_impact_potential
261
- xpath(%w[Environmental-Impact-Potential])
249
+ xpath(%w[Environmental-Impact-Potential])&.to_i
262
250
  end
263
251
 
264
252
  def co2_emissions_current_per_floor_area
265
253
  xpath(%w[CO2-Emissions-Current-Per-Floor-Area])
266
254
  end
267
255
 
268
- def mains_gas
269
- nil
270
- end
271
-
272
256
  def level
273
257
  xpath(%w[Level])
274
258
  end
@@ -278,10 +262,6 @@ module ViewModel
278
262
  flat_level_code == "3" ? "Y" : "N"
279
263
  end
280
264
 
281
- def storey_count
282
- nil
283
- end
284
-
285
265
  def main_heating_controls
286
266
  xpath(%w[Main-Heating-Controls Description])
287
267
  end
@@ -290,32 +270,20 @@ module ViewModel
290
270
  xpath(%w[Multiple-Glazed-Proportion])
291
271
  end
292
272
 
293
- def glazed_area
294
- nil
295
- end
296
-
297
- def habitable_room_count
298
- nil
299
- end
300
-
301
- def heated_room_count
302
- nil
303
- end
304
-
305
273
  def low_energy_lighting
306
274
  xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Percentage])
307
275
  end
308
276
 
309
277
  def fixed_lighting_outlets_count
310
- xpath(%w[Fixed-Lighting-Outlets-Count])
278
+ xpath(%w[Fixed-Lighting-Outlets-Count])&.to_i
311
279
  end
312
280
 
313
281
  def low_energy_fixed_lighting_outlets_count
314
- xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Count])
282
+ xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Count])&.to_i
315
283
  end
316
284
 
317
285
  def open_fireplaces_count
318
- xpath(%w[Open-Fireplaces-Count])
286
+ xpath(%w[Open-Fireplaces-Count])&.to_i
319
287
  end
320
288
 
321
289
  def hot_water_description
@@ -366,10 +334,6 @@ module ViewModel
366
334
  xpath(%w[Lighting Environmental-Efficiency-Rating])
367
335
  end
368
336
 
369
- def photovoltaic_roof_area_percent
370
- nil
371
- end
372
-
373
337
  def built_form
374
338
  xpath(%w[Built-Form])
375
339
  end
@@ -383,7 +347,7 @@ module ViewModel
383
347
  end
384
348
 
385
349
  def wind_turbine_count
386
- xpath(%w[Wind-Turbines-Count])
350
+ xpath(%w[Wind-Turbines-Count])&.to_i
387
351
  end
388
352
 
389
353
  def all_main_heating_descriptions
@@ -391,7 +355,7 @@ module ViewModel
391
355
  end
392
356
 
393
357
  def extensions_count
394
- xpath(%w[Extensions-Count])
358
+ xpath(%w[Extensions-Count])&.to_i
395
359
  end
396
360
 
397
361
  def all_main_heating_controls_descriptions
@@ -430,14 +394,6 @@ module ViewModel
430
394
  xpath(%w[Electricity-Tariff])
431
395
  end
432
396
 
433
- def solar_water_heating_flag
434
- nil
435
- end
436
-
437
- def mechanical_ventilation
438
- nil
439
- end
440
-
441
397
  def floor_level
442
398
  xpath(%w[SAP-Flat-Details Level])
443
399
  end
@@ -491,34 +447,6 @@ module ViewModel
491
447
  def cylinder_size
492
448
  xpath(%w[Cylinder-Size])
493
449
  end
494
-
495
- def has_cylinder_thermostat
496
- nil
497
- end
498
-
499
- def mech_vent_sys_index_number
500
- nil
501
- end
502
-
503
- def mechanical_vent_data_source
504
- nil
505
- end
506
-
507
- def thermal_store
508
- nil
509
- end
510
-
511
- def ventilation_type
512
- nil
513
- end
514
-
515
- def gas_smart_meter_present
516
- nil
517
- end
518
-
519
- def electricity_smart_meter_present
520
- nil
521
- end
522
450
  end
523
451
  end
524
452
  end
@@ -35,11 +35,11 @@ module ViewModel
35
35
  end
36
36
 
37
37
  def habitable_room_count
38
- xpath(%w[Habitable-Room-Count])
38
+ xpath(%w[Habitable-Room-Count])&.to_i
39
39
  end
40
40
 
41
41
  def heated_room_count
42
- xpath(%w[Heated-Room-Count])
42
+ xpath(%w[Heated-Room-Count])&.to_i
43
43
  end
44
44
 
45
45
  def photovoltaic_roof_area_percent
@@ -55,7 +55,7 @@ module ViewModel
55
55
  end
56
56
 
57
57
  def storey_count
58
- xpath(%w[Storey-Count])
58
+ xpath(%w[Storey-Count])&.to_i
59
59
  end
60
60
 
61
61
  def energy_tariff
@@ -89,10 +89,6 @@ module ViewModel
89
89
  xpath(%w[Related-Party-Disclosure])
90
90
  end
91
91
 
92
- def related_party_disclosure_number
93
- nil
94
- end
95
-
96
92
  def improvements
97
93
  @xml_doc
98
94
  .search("Suggested-Improvements/Improvement")
@@ -164,11 +160,11 @@ module ViewModel
164
160
  end
165
161
 
166
162
  def potential_energy_rating
167
- xpath(%w[Energy-Rating-Potential]).to_i
163
+ xpath(%w[Energy-Rating-Potential])&.to_i
168
164
  end
169
165
 
170
166
  def current_energy_rating
171
- xpath(%w[Energy-Rating-Current]).to_i
167
+ xpath(%w[Energy-Rating-Current])&.to_i
172
168
  end
173
169
 
174
170
  def primary_energy_use
@@ -200,14 +196,6 @@ module ViewModel
200
196
  xpath(%w[Construction-Age-Band])
201
197
  end
202
198
 
203
- def tenure
204
- nil
205
- end
206
-
207
- def transaction_type
208
- nil
209
- end
210
-
211
199
  def current_space_heating_demand
212
200
  xpath(%w[Space-Heating-Existing-Dwelling])
213
201
  end
@@ -218,19 +206,19 @@ module ViewModel
218
206
 
219
207
  def impact_of_cavity_insulation
220
208
  if xpath(%w[Impact-Of-Cavity-Insulation])
221
- xpath(%w[Impact-Of-Cavity-Insulation]).to_i
209
+ xpath(%w[Impact-Of-Cavity-Insulation])&.to_i
222
210
  end
223
211
  end
224
212
 
225
213
  def impact_of_loft_insulation
226
214
  if xpath(%w[Impact-Of-Loft-Insulation])
227
- xpath(%w[Impact-Of-Loft-Insulation]).to_i
215
+ xpath(%w[Impact-Of-Loft-Insulation])&.to_i
228
216
  end
229
217
  end
230
218
 
231
219
  def impact_of_solid_wall_insulation
232
220
  if xpath(%w[Impact-Of-Solid-Wall-Insulation])
233
- xpath(%w[Impact-Of-Solid-Wall-Insulation]).to_i
221
+ xpath(%w[Impact-Of-Solid-Wall-Insulation])&.to_i
234
222
  end
235
223
  end
236
224
 
@@ -247,7 +235,7 @@ module ViewModel
247
235
  end
248
236
 
249
237
  def type_of_assessment
250
- case xpath(%w[Report-Type]).to_i
238
+ case xpath(%w[Report-Type])&.to_i
251
239
  when 1
252
240
  "HCR"
253
241
  when 2
@@ -258,21 +246,17 @@ module ViewModel
258
246
  end
259
247
 
260
248
  def environmental_impact_current
261
- xpath(%w[Environmental-Impact-Current])
249
+ xpath(%w[Environmental-Impact-Current])&.to_i
262
250
  end
263
251
 
264
252
  def environmental_impact_potential
265
- xpath(%w[Environmental-Impact-Potential])
253
+ xpath(%w[Environmental-Impact-Potential])&.to_i
266
254
  end
267
255
 
268
256
  def co2_emissions_current_per_floor_area
269
257
  xpath(%w[CO2-Emissions-Current-Per-Floor-Area])
270
258
  end
271
259
 
272
- def mains_gas
273
- nil
274
- end
275
-
276
260
  def level
277
261
  xpath(%w[Level])
278
262
  end
@@ -282,10 +266,6 @@ module ViewModel
282
266
  flat_level_code == "3" ? "Y" : "N"
283
267
  end
284
268
 
285
- def storey_count
286
- nil
287
- end
288
-
289
269
  def main_heating_controls
290
270
  xpath(%w[Main-Heating-Controls Description])
291
271
  end
@@ -294,32 +274,20 @@ module ViewModel
294
274
  xpath(%w[Multiple-Glazed-Proportion])
295
275
  end
296
276
 
297
- def glazed_area
298
- nil
299
- end
300
-
301
- def habitable_room_count
302
- nil
303
- end
304
-
305
- def heated_room_count
306
- nil
307
- end
308
-
309
277
  def low_energy_lighting
310
278
  xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Percentage])
311
279
  end
312
280
 
313
281
  def fixed_lighting_outlets_count
314
- xpath(%w[Fixed-Lighting-Outlets-Count])
282
+ xpath(%w[Fixed-Lighting-Outlets-Count])&.to_i
315
283
  end
316
284
 
317
285
  def low_energy_fixed_lighting_outlets_count
318
- xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Count])
286
+ xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Count])&.to_i
319
287
  end
320
288
 
321
289
  def open_fireplaces_count
322
- xpath(%w[Open-Fireplaces-Count])
290
+ xpath(%w[Open-Fireplaces-Count])&.to_i
323
291
  end
324
292
 
325
293
  def hot_water_description
@@ -370,10 +338,6 @@ module ViewModel
370
338
  xpath(%w[Lighting Environmental-Efficiency-Rating])
371
339
  end
372
340
 
373
- def photovoltaic_roof_area_percent
374
- nil
375
- end
376
-
377
341
  def built_form
378
342
  xpath(%w[Built-Form])
379
343
  end
@@ -387,7 +351,7 @@ module ViewModel
387
351
  end
388
352
 
389
353
  def wind_turbine_count
390
- xpath(%w[Wind-Turbines-Count])
354
+ xpath(%w[Wind-Turbines-Count])&.to_i
391
355
  end
392
356
 
393
357
  def all_main_heating_descriptions
@@ -395,7 +359,7 @@ module ViewModel
395
359
  end
396
360
 
397
361
  def extensions_count
398
- xpath(%w[Extensions-Count])
362
+ xpath(%w[Extensions-Count])&.to_i
399
363
  end
400
364
 
401
365
  def all_main_heating_controls_descriptions
@@ -434,14 +398,6 @@ module ViewModel
434
398
  xpath(%w[Electricity-Tariff])
435
399
  end
436
400
 
437
- def solar_water_heating_flag
438
- nil
439
- end
440
-
441
- def mechanical_ventilation
442
- nil
443
- end
444
-
445
401
  def floor_level
446
402
  xpath(%w[SAP-Flat-Details Level])
447
403
  end
@@ -487,14 +443,6 @@ module ViewModel
487
443
  .search("Main-Heating/Environmental-Efficiency-Rating")
488
444
  .map(&:content)
489
445
  end
490
-
491
- def gas_smart_meter_present
492
- nil
493
- end
494
-
495
- def electricity_smart_meter_present
496
- nil
497
- end
498
446
  end
499
447
  end
500
448
  end
@@ -55,11 +55,11 @@ module ViewModel
55
55
  end
56
56
 
57
57
  def habitable_room_count
58
- xpath(%w[Habitable-Room-Count])
58
+ xpath(%w[Habitable-Room-Count])&.to_i
59
59
  end
60
60
 
61
61
  def heated_room_count
62
- xpath(%w[Heated-Room-Count])
62
+ xpath(%w[Heated-Room-Count])&.to_i
63
63
  end
64
64
 
65
65
  def photovoltaic_roof_area_percent
@@ -75,7 +75,7 @@ module ViewModel
75
75
  end
76
76
 
77
77
  def storey_count
78
- xpath(%w[Storey-Count])
78
+ xpath(%w[Storey-Count])&.to_i
79
79
  end
80
80
 
81
81
  def energy_tariff
@@ -98,25 +98,9 @@ module ViewModel
98
98
  xpath(%w[Cylinder-Thermostat])
99
99
  end
100
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
101
  def water_heating_fuel
114
102
  xpath(%w[Water-Heating-Fuel])
115
103
  end
116
-
117
- def ventilation_type
118
- nil
119
- end
120
104
  end
121
105
  end
122
106
  end
@@ -38,7 +38,7 @@ module ViewModel
38
38
  end
39
39
 
40
40
  def mech_vent_sys_index_number
41
- xpath(%w[Mechanical-Vent-System-Index-Number])
41
+ xpath(%w[Mechanical-Vent-System-Index-Number])&.to_i
42
42
  end
43
43
 
44
44
  def mechanical_vent_data_source