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
@@ -18,7 +18,7 @@ module ViewModel
18
18
  end
19
19
 
20
20
  def mech_vent_sys_index_number
21
- xpath(%w[Mechanical-Vent-System-Index-Number])
21
+ xpath(%w[Mechanical-Vent-System-Index-Number])&.to_i
22
22
  end
23
23
 
24
24
  def mechanical_vent_data_source
@@ -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")
@@ -149,11 +145,11 @@ module ViewModel
149
145
  end
150
146
 
151
147
  def potential_energy_rating
152
- xpath(%w[Energy-Rating-Potential]).to_i
148
+ xpath(%w[Energy-Rating-Potential])&.to_i
153
149
  end
154
150
 
155
151
  def current_energy_rating
156
- xpath(%w[Energy-Rating-Current]).to_i
152
+ xpath(%w[Energy-Rating-Current])&.to_i
157
153
  end
158
154
 
159
155
  def primary_energy_use
@@ -183,10 +179,6 @@ module ViewModel
183
179
  xpath(%w[Construction-Year])
184
180
  end
185
181
 
186
- def tenure
187
- nil
188
- end
189
-
190
182
  def transaction_type
191
183
  xpath(%w[Transaction-Type])
192
184
  end
@@ -201,19 +193,19 @@ module ViewModel
201
193
 
202
194
  def impact_of_cavity_insulation
203
195
  if xpath(%w[Impact-Of-Cavity-Insulation])
204
- xpath(%w[Impact-Of-Cavity-Insulation]).to_i
196
+ xpath(%w[Impact-Of-Cavity-Insulation])&.to_i
205
197
  end
206
198
  end
207
199
 
208
200
  def impact_of_loft_insulation
209
201
  if xpath(%w[Impact-Of-Loft-Insulation])
210
- xpath(%w[Impact-Of-Loft-Insulation]).to_i
202
+ xpath(%w[Impact-Of-Loft-Insulation])&.to_i
211
203
  end
212
204
  end
213
205
 
214
206
  def impact_of_solid_wall_insulation
215
207
  if xpath(%w[Impact-Of-Solid-Wall-Insulation])
216
- xpath(%w[Impact-Of-Solid-Wall-Insulation]).to_i
208
+ xpath(%w[Impact-Of-Solid-Wall-Insulation])&.to_i
217
209
  end
218
210
  end
219
211
 
@@ -230,7 +222,7 @@ module ViewModel
230
222
  end
231
223
 
232
224
  def type_of_assessment
233
- case xpath(%w[Report-Type]).to_i
225
+ case xpath(%w[Report-Type])&.to_i
234
226
  when 1
235
227
  "HCR"
236
228
  when 2
@@ -241,21 +233,17 @@ module ViewModel
241
233
  end
242
234
 
243
235
  def environmental_impact_current
244
- xpath(%w[Environmental-Impact-Current])
236
+ xpath(%w[Environmental-Impact-Current])&.to_i
245
237
  end
246
238
 
247
239
  def environmental_impact_potential
248
- xpath(%w[Environmental-Impact-Potential])
240
+ xpath(%w[Environmental-Impact-Potential])&.to_i
249
241
  end
250
242
 
251
243
  def co2_emissions_current_per_floor_area
252
244
  xpath(%w[CO2-Emissions-Current-Per-Floor-Area])
253
245
  end
254
246
 
255
- def mains_gas
256
- nil
257
- end
258
-
259
247
  def level
260
248
  xpath(%w[Level])
261
249
  end
@@ -265,10 +253,6 @@ module ViewModel
265
253
  flat_level_code == "3" ? "Y" : "N"
266
254
  end
267
255
 
268
- def storey_count
269
- nil
270
- end
271
-
272
256
  def main_heating_controls
273
257
  xpath(%w[Main-Heating-Controls Description])
274
258
  end
@@ -277,32 +261,20 @@ module ViewModel
277
261
  xpath(%w[Multiple-Glazed-Proportion])
278
262
  end
279
263
 
280
- def glazed_area
281
- nil
282
- end
283
-
284
- def habitable_room_count
285
- nil
286
- end
287
-
288
- def heated_room_count
289
- nil
290
- end
291
-
292
264
  def low_energy_lighting
293
265
  xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Percentage])
294
266
  end
295
267
 
296
268
  def fixed_lighting_outlets_count
297
- xpath(%w[Fixed-Lighting-Outlets-Count])
269
+ xpath(%w[Fixed-Lighting-Outlets-Count])&.to_i
298
270
  end
299
271
 
300
272
  def low_energy_fixed_lighting_outlets_count
301
- xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Count])
273
+ xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Count])&.to_i
302
274
  end
303
275
 
304
276
  def open_fireplaces_count
305
- xpath(%w[Open-Fireplaces-Count])
277
+ xpath(%w[Open-Fireplaces-Count])&.to_i
306
278
  end
307
279
 
308
280
  def hot_water_description
@@ -353,16 +325,12 @@ module ViewModel
353
325
  xpath(%w[Lighting Environmental-Efficiency-Rating])
354
326
  end
355
327
 
356
- def photovoltaic_roof_area_percent
357
- nil
358
- end
359
-
360
328
  def built_form
361
329
  xpath(%w[Built-Form])
362
330
  end
363
331
 
364
332
  def wind_turbine_count
365
- xpath(%w[Wind-Turbines-Count])
333
+ xpath(%w[Wind-Turbines-Count])&.to_i
366
334
  end
367
335
 
368
336
  def heat_loss_corridor
@@ -378,7 +346,7 @@ module ViewModel
378
346
  end
379
347
 
380
348
  def extensions_count
381
- xpath(%w[Extensions-Count])
349
+ xpath(%w[Extensions-Count])&.to_i
382
350
  end
383
351
 
384
352
  def all_main_heating_controls_descriptions
@@ -425,14 +393,6 @@ module ViewModel
425
393
  @xml_doc.search("Main-Heating/Energy-Efficiency-Rating").map(&:content)
426
394
  end
427
395
 
428
- def solar_water_heating_flag
429
- nil
430
- end
431
-
432
- def mechanical_ventilation
433
- nil
434
- end
435
-
436
396
  def main_dwelling_construction_age_band_or_year
437
397
  sap_building_parts =
438
398
  @xml_doc.xpath("//SAP-Building-Parts/SAP-Building-Part")
@@ -488,14 +448,6 @@ module ViewModel
488
448
  .search("Main-Heating-Controls/Environmental-Efficiency-Rating")
489
449
  .map(&:content)
490
450
  end
491
-
492
- def gas_smart_meter_present
493
- nil
494
- end
495
-
496
- def electricity_smart_meter_present
497
- nil
498
- end
499
451
  end
500
452
  end
501
453
  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
@@ -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")
@@ -149,11 +145,11 @@ module ViewModel
149
145
  end
150
146
 
151
147
  def potential_energy_rating
152
- xpath(%w[Energy-Rating-Potential]).to_i
148
+ xpath(%w[Energy-Rating-Potential])&.to_i
153
149
  end
154
150
 
155
151
  def current_energy_rating
156
- xpath(%w[Energy-Rating-Current]).to_i
152
+ xpath(%w[Energy-Rating-Current])&.to_i
157
153
  end
158
154
 
159
155
  def primary_energy_use
@@ -180,10 +176,6 @@ module ViewModel
180
176
  xpath(%w[Construction-Year])
181
177
  end
182
178
 
183
- def tenure
184
- nil
185
- end
186
-
187
179
  def transaction_type
188
180
  xpath(%w[Transaction-Type])
189
181
  end
@@ -198,19 +190,19 @@ module ViewModel
198
190
 
199
191
  def impact_of_cavity_insulation
200
192
  if xpath(%w[Impact-Of-Cavity-Insulation])
201
- xpath(%w[Impact-Of-Cavity-Insulation]).to_i
193
+ xpath(%w[Impact-Of-Cavity-Insulation])&.to_i
202
194
  end
203
195
  end
204
196
 
205
197
  def impact_of_loft_insulation
206
198
  if xpath(%w[Impact-Of-Loft-Insulation])
207
- xpath(%w[Impact-Of-Loft-Insulation]).to_i
199
+ xpath(%w[Impact-Of-Loft-Insulation])&.to_i
208
200
  end
209
201
  end
210
202
 
211
203
  def impact_of_solid_wall_insulation
212
204
  if xpath(%w[Impact-Of-Solid-Wall-Insulation])
213
- xpath(%w[Impact-Of-Solid-Wall-Insulation]).to_i
205
+ xpath(%w[Impact-Of-Solid-Wall-Insulation])&.to_i
214
206
  end
215
207
  end
216
208
 
@@ -227,7 +219,7 @@ module ViewModel
227
219
  end
228
220
 
229
221
  def type_of_assessment
230
- case xpath(%w[Report-Type]).to_i
222
+ case xpath(%w[Report-Type])&.to_i
231
223
  when 1
232
224
  "HCR"
233
225
  when 2
@@ -238,21 +230,17 @@ module ViewModel
238
230
  end
239
231
 
240
232
  def environmental_impact_current
241
- xpath(%w[Environmental-Impact-Current])
233
+ xpath(%w[Environmental-Impact-Current])&.to_i
242
234
  end
243
235
 
244
236
  def environmental_impact_potential
245
- xpath(%w[Environmental-Impact-Potential])
237
+ xpath(%w[Environmental-Impact-Potential])&.to_i
246
238
  end
247
239
 
248
240
  def co2_emissions_current_per_floor_area
249
241
  xpath(%w[CO2-Emissions-Current-Per-Floor-Area])
250
242
  end
251
243
 
252
- def mains_gas
253
- nil
254
- end
255
-
256
244
  def level
257
245
  xpath(%w[Level])
258
246
  end
@@ -262,10 +250,6 @@ module ViewModel
262
250
  flat_level_code == "3" ? "Y" : "N"
263
251
  end
264
252
 
265
- def storey_count
266
- nil
267
- end
268
-
269
253
  def main_heating_controls
270
254
  xpath(%w[Main-Heating-Controls Description])
271
255
  end
@@ -274,32 +258,20 @@ module ViewModel
274
258
  xpath(%w[Multiple-Glazed-Proportion])
275
259
  end
276
260
 
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
261
  def low_energy_lighting
290
262
  xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Percentage])
291
263
  end
292
264
 
293
265
  def fixed_lighting_outlets_count
294
- xpath(%w[Fixed-Lighting-Outlets-Count])
266
+ xpath(%w[Fixed-Lighting-Outlets-Count])&.to_i
295
267
  end
296
268
 
297
269
  def low_energy_fixed_lighting_outlets_count
298
- xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Count])
270
+ xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Count])&.to_i
299
271
  end
300
272
 
301
273
  def open_fireplaces_count
302
- xpath(%w[Open-Fireplaces-Count])
274
+ xpath(%w[Open-Fireplaces-Count])&.to_i
303
275
  end
304
276
 
305
277
  def hot_water_description
@@ -350,16 +322,12 @@ module ViewModel
350
322
  xpath(%w[Lighting Environmental-Efficiency-Rating])
351
323
  end
352
324
 
353
- def photovoltaic_roof_area_percent
354
- nil
355
- end
356
-
357
325
  def built_form
358
326
  xpath(%w[Built-Form])
359
327
  end
360
328
 
361
329
  def wind_turbine_count
362
- xpath(%w[Wind-Turbines-Count])
330
+ xpath(%w[Wind-Turbines-Count])&.to_i
363
331
  end
364
332
 
365
333
  def heat_loss_corridor
@@ -375,7 +343,7 @@ module ViewModel
375
343
  end
376
344
 
377
345
  def extensions_count
378
- xpath(%w[Extensions-Count])
346
+ xpath(%w[Extensions-Count])&.to_i
379
347
  end
380
348
 
381
349
  def all_main_heating_controls_descriptions
@@ -422,14 +390,6 @@ module ViewModel
422
390
  @xml_doc.search("Main-Heating/Energy-Efficiency-Rating").map(&:content)
423
391
  end
424
392
 
425
- def solar_water_heating_flag
426
- nil
427
- end
428
-
429
- def mechanical_ventilation
430
- nil
431
- end
432
-
433
393
  def main_dwelling_construction_age_band_or_year
434
394
  sap_building_parts =
435
395
  @xml_doc.xpath("//SAP-Building-Parts/SAP-Building-Part")
@@ -485,14 +445,6 @@ module ViewModel
485
445
  .search("Main-Heating-Controls/Environmental-Efficiency-Rating")
486
446
  .map(&:content)
487
447
  end
488
-
489
- def gas_smart_meter_present
490
- nil
491
- end
492
-
493
- def electricity_smart_meter_present
494
- nil
495
- end
496
448
  end
497
449
  end
498
450
  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
@@ -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