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
@@ -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
@@ -379,7 +343,7 @@ module ViewModel
379
343
  end
380
344
 
381
345
  def wind_turbine_count
382
- xpath(%w[Wind-Turbines-Count])
346
+ xpath(%w[Wind-Turbines-Count])&.to_i
383
347
  end
384
348
 
385
349
  def unheated_corridor_length
@@ -427,15 +391,7 @@ module ViewModel
427
391
  end
428
392
 
429
393
  def extensions_count
430
- xpath(%w[Extensions-Count])
431
- end
432
-
433
- def solar_water_heating_flag
434
- nil
435
- end
436
-
437
- def mechanical_ventilation
438
- nil
394
+ xpath(%w[Extensions-Count])&.to_i
439
395
  end
440
396
 
441
397
  def floor_level
@@ -501,14 +457,6 @@ module ViewModel
501
457
  end
502
458
  nil
503
459
  end
504
-
505
- def gas_smart_meter_present
506
- nil
507
- end
508
-
509
- def electricity_smart_meter_present
510
- nil
511
- end
512
460
  end
513
461
  end
514
462
  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,22 +98,6 @@ 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
- def ventilation_type
114
- nil
115
- end
116
-
117
101
  def water_heating_fuel
118
102
  xpath(%w[Water-Heating-Fuel])
119
103
  end
@@ -44,7 +44,7 @@ module ViewModel
44
44
  end
45
45
 
46
46
  def mech_vent_sys_index_number
47
- xpath(%w[Mechanical-Vent-System-Index-Number])
47
+ xpath(%w[Mechanical-Vent-System-Index-Number])&.to_i
48
48
  end
49
49
 
50
50
  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")
@@ -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,10 +192,6 @@ module ViewModel
196
192
  xpath(%w[Construction-Year])
197
193
  end
198
194
 
199
- def tenure
200
- nil
201
- end
202
-
203
195
  def transaction_type
204
196
  xpath(%w[Transaction-Type])
205
197
  end
@@ -214,19 +206,19 @@ module ViewModel
214
206
 
215
207
  def impact_of_cavity_insulation
216
208
  if xpath(%w[Impact-Of-Cavity-Insulation])
217
- xpath(%w[Impact-Of-Cavity-Insulation]).to_i
209
+ xpath(%w[Impact-Of-Cavity-Insulation])&.to_i
218
210
  end
219
211
  end
220
212
 
221
213
  def impact_of_loft_insulation
222
214
  if xpath(%w[Impact-Of-Loft-Insulation])
223
- xpath(%w[Impact-Of-Loft-Insulation]).to_i
215
+ xpath(%w[Impact-Of-Loft-Insulation])&.to_i
224
216
  end
225
217
  end
226
218
 
227
219
  def impact_of_solid_wall_insulation
228
220
  if xpath(%w[Impact-Of-Solid-Wall-Insulation])
229
- xpath(%w[Impact-Of-Solid-Wall-Insulation]).to_i
221
+ xpath(%w[Impact-Of-Solid-Wall-Insulation])&.to_i
230
222
  end
231
223
  end
232
224
 
@@ -243,7 +235,7 @@ module ViewModel
243
235
  end
244
236
 
245
237
  def type_of_assessment
246
- case xpath(%w[Report-Type]).to_i
238
+ case xpath(%w[Report-Type])&.to_i
247
239
  when 1
248
240
  "HCR"
249
241
  when 2
@@ -254,21 +246,17 @@ module ViewModel
254
246
  end
255
247
 
256
248
  def environmental_impact_current
257
- xpath(%w[Environmental-Impact-Current])
249
+ xpath(%w[Environmental-Impact-Current])&.to_i
258
250
  end
259
251
 
260
252
  def environmental_impact_potential
261
- xpath(%w[Environmental-Impact-Potential])
253
+ xpath(%w[Environmental-Impact-Potential])&.to_i
262
254
  end
263
255
 
264
256
  def co2_emissions_current_per_floor_area
265
257
  xpath(%w[CO2-Emissions-Current-Per-Floor-Area])
266
258
  end
267
259
 
268
- def mains_gas
269
- nil
270
- end
271
-
272
260
  def level
273
261
  xpath(%w[Level])
274
262
  end
@@ -278,10 +266,6 @@ module ViewModel
278
266
  flat_level_code == "3" ? "Y" : "N"
279
267
  end
280
268
 
281
- def storey_count
282
- nil
283
- end
284
-
285
269
  def main_heating_controls
286
270
  xpath(%w[Main-Heating-Controls Description])
287
271
  end
@@ -290,32 +274,20 @@ module ViewModel
290
274
  xpath(%w[Multiple-Glazed-Proportion])
291
275
  end
292
276
 
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
277
  def low_energy_lighting
306
278
  xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Percentage])
307
279
  end
308
280
 
309
281
  def fixed_lighting_outlets_count
310
- xpath(%w[Fixed-Lighting-Outlets-Count])
282
+ xpath(%w[Fixed-Lighting-Outlets-Count])&.to_i
311
283
  end
312
284
 
313
285
  def low_energy_fixed_lighting_outlets_count
314
- xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Count])
286
+ xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Count])&.to_i
315
287
  end
316
288
 
317
289
  def open_fireplaces_count
318
- xpath(%w[Open-Fireplaces-Count])
290
+ xpath(%w[Open-Fireplaces-Count])&.to_i
319
291
  end
320
292
 
321
293
  def hot_water_description
@@ -366,10 +338,6 @@ module ViewModel
366
338
  xpath(%w[Lighting Environmental-Efficiency-Rating])
367
339
  end
368
340
 
369
- def photovoltaic_roof_area_percent
370
- nil
371
- end
372
-
373
341
  def built_form
374
342
  xpath(%w[Built-Form])
375
343
  end
@@ -383,7 +351,7 @@ module ViewModel
383
351
  end
384
352
 
385
353
  def wind_turbine_count
386
- xpath(%w[Wind-Turbines-Count])
354
+ xpath(%w[Wind-Turbines-Count])&.to_i
387
355
  end
388
356
 
389
357
  def all_main_heating_descriptions
@@ -391,7 +359,7 @@ module ViewModel
391
359
  end
392
360
 
393
361
  def extensions_count
394
- xpath(%w[Extensions-Count])
362
+ xpath(%w[Extensions-Count])&.to_i
395
363
  end
396
364
 
397
365
  def all_main_heating_controls_descriptions
@@ -434,14 +402,6 @@ module ViewModel
434
402
  @xml_doc.search("Main-Heating/Energy-Efficiency-Rating").map(&:content)
435
403
  end
436
404
 
437
- def solar_water_heating_flag
438
- nil
439
- end
440
-
441
- def mechanical_ventilation
442
- nil
443
- end
444
-
445
405
  def main_dwelling_construction_age_band_or_year
446
406
  sap_building_parts =
447
407
  @xml_doc.xpath("//SAP-Building-Parts/SAP-Building-Part")
@@ -501,14 +461,6 @@ module ViewModel
501
461
  .search("Main-Heating/Environmental-Efficiency-Rating")
502
462
  .map(&:content)
503
463
  end
504
-
505
- def gas_smart_meter_present
506
- nil
507
- end
508
-
509
- def electricity_smart_meter_present
510
- nil
511
- end
512
464
  end
513
465
  end
514
466
  end
@@ -38,11 +38,11 @@ module ViewModel
38
38
  end
39
39
 
40
40
  def habitable_room_count
41
- xpath(%w[Habitable-Room-Count])
41
+ xpath(%w[Habitable-Room-Count])&.to_i
42
42
  end
43
43
 
44
44
  def heated_room_count
45
- xpath(%w[Heated-Room-Count])
45
+ xpath(%w[Heated-Room-Count])&.to_i
46
46
  end
47
47
 
48
48
  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
@@ -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")
@@ -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
@@ -195,10 +191,6 @@ module ViewModel
195
191
  xpath(%w[Construction-Year])
196
192
  end
197
193
 
198
- def tenure
199
- nil
200
- end
201
-
202
194
  def transaction_type
203
195
  xpath(%w[Transaction-Type])
204
196
  end
@@ -213,19 +205,19 @@ module ViewModel
213
205
 
214
206
  def impact_of_cavity_insulation
215
207
  if xpath(%w[Impact-Of-Cavity-Insulation])
216
- xpath(%w[Impact-Of-Cavity-Insulation]).to_i
208
+ xpath(%w[Impact-Of-Cavity-Insulation])&.to_i
217
209
  end
218
210
  end
219
211
 
220
212
  def impact_of_loft_insulation
221
213
  if xpath(%w[Impact-Of-Loft-Insulation])
222
- xpath(%w[Impact-Of-Loft-Insulation]).to_i
214
+ xpath(%w[Impact-Of-Loft-Insulation])&.to_i
223
215
  end
224
216
  end
225
217
 
226
218
  def impact_of_solid_wall_insulation
227
219
  if xpath(%w[Impact-Of-Solid-Wall-Insulation])
228
- xpath(%w[Impact-Of-Solid-Wall-Insulation]).to_i
220
+ xpath(%w[Impact-Of-Solid-Wall-Insulation])&.to_i
229
221
  end
230
222
  end
231
223
 
@@ -242,7 +234,7 @@ module ViewModel
242
234
  end
243
235
 
244
236
  def type_of_assessment
245
- case xpath(%w[Report-Type]).to_i
237
+ case xpath(%w[Report-Type])&.to_i
246
238
  when 1
247
239
  "HCR"
248
240
  when 2
@@ -253,21 +245,17 @@ module ViewModel
253
245
  end
254
246
 
255
247
  def environmental_impact_current
256
- xpath(%w[Environmental-Impact-Current])
248
+ xpath(%w[Environmental-Impact-Current])&.to_i
257
249
  end
258
250
 
259
251
  def environmental_impact_potential
260
- xpath(%w[Environmental-Impact-Potential])
252
+ xpath(%w[Environmental-Impact-Potential])&.to_i
261
253
  end
262
254
 
263
255
  def co2_emissions_current_per_floor_area
264
256
  xpath(%w[CO2-Emissions-Current-Per-Floor-Area])
265
257
  end
266
258
 
267
- def mains_gas
268
- nil
269
- end
270
-
271
259
  def level
272
260
  xpath(%w[Level])
273
261
  end
@@ -277,10 +265,6 @@ module ViewModel
277
265
  flat_level_code == "3" ? "Y" : "N"
278
266
  end
279
267
 
280
- def storey_count
281
- nil
282
- end
283
-
284
268
  def main_heating_controls
285
269
  xpath(%w[Main-Heating-Controls Description])
286
270
  end
@@ -289,32 +273,20 @@ module ViewModel
289
273
  xpath(%w[Multiple-Glazed-Proportion])
290
274
  end
291
275
 
292
- def glazed_area
293
- nil
294
- end
295
-
296
- def habitable_room_count
297
- nil
298
- end
299
-
300
- def heated_room_count
301
- nil
302
- end
303
-
304
276
  def low_energy_lighting
305
277
  xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Percentage])
306
278
  end
307
279
 
308
280
  def fixed_lighting_outlets_count
309
- xpath(%w[Fixed-Lighting-Outlets-Count])
281
+ xpath(%w[Fixed-Lighting-Outlets-Count])&.to_i
310
282
  end
311
283
 
312
284
  def low_energy_fixed_lighting_outlets_count
313
- xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Count])
285
+ xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Count])&.to_i
314
286
  end
315
287
 
316
288
  def open_fireplaces_count
317
- xpath(%w[Open-Fireplaces-Count])
289
+ xpath(%w[Open-Fireplaces-Count])&.to_i
318
290
  end
319
291
 
320
292
  def hot_water_description
@@ -365,10 +337,6 @@ module ViewModel
365
337
  xpath(%w[Lighting Environmental-Efficiency-Rating])
366
338
  end
367
339
 
368
- def photovoltaic_roof_area_percent
369
- nil
370
- end
371
-
372
340
  def built_form
373
341
  xpath(%w[Built-Form])
374
342
  end
@@ -378,7 +346,7 @@ module ViewModel
378
346
  end
379
347
 
380
348
  def wind_turbine_count
381
- xpath(%w[Wind-Turbines-Count])
349
+ xpath(%w[Wind-Turbines-Count])&.to_i
382
350
  end
383
351
 
384
352
  def unheated_corridor_length
@@ -426,15 +394,7 @@ module ViewModel
426
394
  end
427
395
 
428
396
  def extensions_count
429
- xpath(%w[Extensions-Count])
430
- end
431
-
432
- def solar_water_heating_flag
433
- nil
434
- end
435
-
436
- def mechanical_ventilation
437
- nil
397
+ xpath(%w[Extensions-Count])&.to_i
438
398
  end
439
399
 
440
400
  def main_dwelling_construction_age_band_or_year
@@ -500,14 +460,6 @@ module ViewModel
500
460
  .search("Main-Heating-Controls/Environmental-Efficiency-Rating")
501
461
  .map(&:content)
502
462
  end
503
-
504
- def gas_smart_meter_present
505
- nil
506
- end
507
-
508
- def electricity_smart_meter_present
509
- nil
510
- end
511
463
  end
512
464
  end
513
465
  end