epb_view_models 1.2.3 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
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