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
@@ -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
@@ -69,10 +69,6 @@ module ViewModel
69
69
  xpath(%w[Cylinder-Insulation-Thickness])
70
70
  end
71
71
 
72
- def low_energy_lighting
73
- nil
74
- end
75
-
76
72
  def multiple_glazed_proportion
77
73
  xpath(%w[Multiple-Glazed-Proportion])
78
74
  end
@@ -89,22 +85,6 @@ module ViewModel
89
85
  xpath(%w[Cylinder-Thermostat])
90
86
  end
91
87
 
92
- def mech_vent_sys_index_number
93
- nil
94
- end
95
-
96
- def mechanical_vent_data_source
97
- nil
98
- end
99
-
100
- def thermal_store
101
- nil
102
- end
103
-
104
- def ventilation_type
105
- nil
106
- end
107
-
108
88
  def water_heating_fuel
109
89
  xpath(%w[Water-Heating-Fuel])
110
90
  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
@@ -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
@@ -196,18 +196,6 @@ module ViewModel
196
196
  xpath(%w[Water-Heating])
197
197
  end
198
198
 
199
- def impact_of_cavity_insulation
200
- nil
201
- end
202
-
203
- def impact_of_loft_insulation
204
- nil
205
- end
206
-
207
- def impact_of_solid_wall_insulation
208
- nil
209
- end
210
-
211
199
  def country_code
212
200
  xpath(%w[Country-Code])
213
201
  end
@@ -229,21 +217,17 @@ module ViewModel
229
217
  end
230
218
 
231
219
  def environmental_impact_current
232
- xpath(%w[Environmental-Impact-Current])
220
+ xpath(%w[Environmental-Impact-Current])&.to_i
233
221
  end
234
222
 
235
223
  def environmental_impact_potential
236
- xpath(%w[Environmental-Impact-Potential])
224
+ xpath(%w[Environmental-Impact-Potential])&.to_i
237
225
  end
238
226
 
239
227
  def co2_emissions_current_per_floor_area
240
228
  xpath(%w[CO2-Emissions-Current-Per-Floor-Area])
241
229
  end
242
230
 
243
- def mains_gas
244
- nil
245
- end
246
-
247
231
  def level
248
232
  xpath(%w[Level])
249
233
  end
@@ -253,44 +237,24 @@ module ViewModel
253
237
  flat_level_code == "3" ? "Y" : "N"
254
238
  end
255
239
 
256
- def storey_count
257
- nil
258
- end
259
-
260
240
  def main_heating_controls
261
241
  xpath(%w[Main-Heating-Controls Description])
262
242
  end
263
243
 
264
- def multiple_glazed_proportion
265
- nil
266
- end
267
-
268
- def glazed_area
269
- nil
270
- end
271
-
272
- def habitable_room_count
273
- nil
274
- end
275
-
276
- def heated_room_count
277
- nil
278
- end
279
-
280
244
  def low_energy_lighting
281
245
  xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Percentage])
282
246
  end
283
247
 
284
248
  def fixed_lighting_outlets_count
285
- xpath(%w[Fixed-Lighting-Outlets-Count])
249
+ xpath(%w[Fixed-Lighting-Outlets-Count])&.to_i
286
250
  end
287
251
 
288
252
  def low_energy_fixed_lighting_outlets_count
289
- xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Count])
253
+ xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Count])&.to_i
290
254
  end
291
255
 
292
256
  def open_fireplaces_count
293
- xpath(%w[Open-Fireplaces-Count])
257
+ xpath(%w[Open-Fireplaces-Count])&.to_i
294
258
  end
295
259
 
296
260
  def hot_water_description
@@ -341,20 +305,8 @@ module ViewModel
341
305
  xpath(%w[Lighting Environmental-Efficiency-Rating])
342
306
  end
343
307
 
344
- def photovoltaic_roof_area_percent
345
- nil
346
- end
347
-
348
308
  def wind_turbine_count
349
- xpath(%w[Wind-Turbines-Count])
350
- end
351
-
352
- def heat_loss_corridor
353
- nil
354
- end
355
-
356
- def unheated_corridor_length
357
- nil
309
+ xpath(%w[Wind-Turbines-Count])&.to_i
358
310
  end
359
311
 
360
312
  def built_form
@@ -409,14 +361,6 @@ module ViewModel
409
361
  @xml_doc.search("Main-Heating/Energy-Efficiency-Rating").map(&:content)
410
362
  end
411
363
 
412
- def solar_water_heating_flag
413
- nil
414
- end
415
-
416
- def mechanical_ventilation
417
- nil
418
- end
419
-
420
364
  def floor_height
421
365
  @xml_doc.search("Storey-Height").map(&:content)
422
366
  end
@@ -439,10 +383,6 @@ module ViewModel
439
383
  nil
440
384
  end
441
385
 
442
- def extensions_count
443
- nil
444
- end
445
-
446
386
  def all_main_heating_environmental_efficiency
447
387
  @xml_doc
448
388
  .search("Main-Heating/Environmental-Efficiency-Rating")
@@ -494,7 +434,7 @@ module ViewModel
494
434
  end
495
435
 
496
436
  def mech_vent_sys_index_number
497
- xpath(%w[Mechanical-Vent-System-Index-Number])
437
+ xpath(%w[Mechanical-Vent-System-Index-Number])&.to_i
498
438
  end
499
439
 
500
440
  def mechanical_vent_data_source
@@ -508,14 +448,6 @@ module ViewModel
508
448
  def ventilation_type
509
449
  xpath(%w[Ventilation-Type])
510
450
  end
511
-
512
- def gas_smart_meter_present
513
- nil
514
- end
515
-
516
- def electricity_smart_meter_present
517
- nil
518
- end
519
451
  end
520
452
  end
521
453
  end
@@ -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
@@ -196,18 +196,6 @@ module ViewModel
196
196
  xpath(%w[Water-Heating])
197
197
  end
198
198
 
199
- def impact_of_cavity_insulation
200
- nil
201
- end
202
-
203
- def impact_of_loft_insulation
204
- nil
205
- end
206
-
207
- def impact_of_solid_wall_insulation
208
- nil
209
- end
210
-
211
199
  def all_main_heating_descriptions
212
200
  @xml_doc.search("Main-Heating/Description").map(&:content)
213
201
  end
@@ -233,21 +221,17 @@ module ViewModel
233
221
  end
234
222
 
235
223
  def environmental_impact_current
236
- xpath(%w[Environmental-Impact-Current])
224
+ xpath(%w[Environmental-Impact-Current])&.to_i
237
225
  end
238
226
 
239
227
  def environmental_impact_potential
240
- xpath(%w[Environmental-Impact-Potential])
228
+ xpath(%w[Environmental-Impact-Potential])&.to_i
241
229
  end
242
230
 
243
231
  def co2_emissions_current_per_floor_area
244
232
  xpath(%w[CO2-Emissions-Current-Per-Floor-Area])
245
233
  end
246
234
 
247
- def mains_gas
248
- nil
249
- end
250
-
251
235
  def level
252
236
  xpath(%w[Level])
253
237
  end
@@ -257,44 +241,24 @@ module ViewModel
257
241
  flat_level_code == "3" ? "Y" : "N"
258
242
  end
259
243
 
260
- def storey_count
261
- nil
262
- end
263
-
264
244
  def main_heating_controls
265
245
  xpath(%w[Main-Heating-Controls Description])
266
246
  end
267
247
 
268
- def multiple_glazed_proportion
269
- nil
270
- end
271
-
272
- def glazed_area
273
- nil
274
- end
275
-
276
- def habitable_room_count
277
- nil
278
- end
279
-
280
- def heated_room_count
281
- nil
282
- end
283
-
284
248
  def low_energy_lighting
285
249
  xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Percentage])
286
250
  end
287
251
 
288
252
  def fixed_lighting_outlets_count
289
- xpath(%w[Fixed-Lighting-Outlets-Count])
253
+ xpath(%w[Fixed-Lighting-Outlets-Count])&.to_i
290
254
  end
291
255
 
292
256
  def low_energy_fixed_lighting_outlets_count
293
- xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Count])
257
+ xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Count])&.to_i
294
258
  end
295
259
 
296
260
  def open_fireplaces_count
297
- xpath(%w[Open-Fireplaces-Count])
261
+ xpath(%w[Open-Fireplaces-Count])&.to_i
298
262
  end
299
263
 
300
264
  def hot_water_description
@@ -345,20 +309,8 @@ module ViewModel
345
309
  xpath(%w[Lighting Environmental-Efficiency-Rating])
346
310
  end
347
311
 
348
- def photovoltaic_roof_area_percent
349
- nil
350
- end
351
-
352
312
  def wind_turbine_count
353
- xpath(%w[Wind-Turbines-Count])
354
- end
355
-
356
- def heat_loss_corridor
357
- nil
358
- end
359
-
360
- def unheated_corridor_length
361
- nil
313
+ xpath(%w[Wind-Turbines-Count])&.to_i
362
314
  end
363
315
 
364
316
  def built_form
@@ -409,18 +361,6 @@ module ViewModel
409
361
  @xml_doc.search("Main-Heating/Energy-Efficiency-Rating").map(&:content)
410
362
  end
411
363
 
412
- def extensions_count
413
- nil
414
- end
415
-
416
- def solar_water_heating_flag
417
- nil
418
- end
419
-
420
- def mechanical_ventilation
421
- nil
422
- end
423
-
424
364
  def floor_height
425
365
  @xml_doc.search("Storey-Height").map(&:content)
426
366
  end
@@ -494,7 +434,7 @@ module ViewModel
494
434
  end
495
435
 
496
436
  def mech_vent_sys_index_number
497
- xpath(%w[Mechanical-Vent-System-Index-Number])
437
+ xpath(%w[Mechanical-Vent-System-Index-Number])&.to_i
498
438
  end
499
439
 
500
440
  def mechanical_vent_data_source
@@ -508,14 +448,6 @@ module ViewModel
508
448
  def ventilation_type
509
449
  xpath(%w[Ventilation-Type])
510
450
  end
511
-
512
- def gas_smart_meter_present
513
- nil
514
- end
515
-
516
- def electricity_smart_meter_present
517
- nil
518
- end
519
451
  end
520
452
  end
521
453
  end
@@ -94,7 +94,7 @@ module ViewModel
94
94
  end
95
95
 
96
96
  def related_party_disclosure_number
97
- xpath(%w[Related-Party-Disclosure-Number]).to_i
97
+ xpath(%w[Related-Party-Disclosure-Number])&.to_i
98
98
  end
99
99
 
100
100
  def improvements
@@ -153,11 +153,11 @@ module ViewModel
153
153
  end
154
154
 
155
155
  def potential_energy_rating
156
- xpath(%w[Energy-Rating-Potential]).to_i
156
+ xpath(%w[Energy-Rating-Potential])&.to_i
157
157
  end
158
158
 
159
159
  def current_energy_rating
160
- xpath(%w[Energy-Rating-Current]).to_i
160
+ xpath(%w[Energy-Rating-Current])&.to_i
161
161
  end
162
162
 
163
163
  def primary_energy_use
@@ -200,18 +200,6 @@ module ViewModel
200
200
  xpath(%w[Water-Heating])
201
201
  end
202
202
 
203
- def impact_of_cavity_insulation
204
- nil
205
- end
206
-
207
- def impact_of_loft_insulation
208
- nil
209
- end
210
-
211
- def impact_of_solid_wall_insulation
212
- nil
213
- end
214
-
215
203
  def all_sap_floor_dimensions
216
204
  @xml_doc.search("SAP-Floor-Dimension").select(&:element?).map { |node|
217
205
  { total_floor_area: xpath(%w[Total-Floor-Area], node).to_f }
@@ -227,10 +215,6 @@ module ViewModel
227
215
  flat_level_code == "3" ? "Y" : "N"
228
216
  end
229
217
 
230
- def storey_count
231
- nil
232
- end
233
-
234
218
  def building_part_number
235
219
  xpath(%w[Building-Part-Number])
236
220
  end
@@ -298,55 +282,35 @@ module ViewModel
298
282
  end
299
283
 
300
284
  def environmental_impact_current
301
- xpath(%w[Environmental-Impact-Current])
285
+ xpath(%w[Environmental-Impact-Current])&.to_i
302
286
  end
303
287
 
304
288
  def environmental_impact_potential
305
- xpath(%w[Environmental-Impact-Potential])
289
+ xpath(%w[Environmental-Impact-Potential])&.to_i
306
290
  end
307
291
 
308
292
  def co2_emissions_current_per_floor_area
309
293
  xpath(%w[CO2-Emissions-Current-Per-Floor-Area])
310
294
  end
311
295
 
312
- def mains_gas
313
- nil
314
- end
315
-
316
296
  def main_heating_controls
317
297
  xpath(%w[Main-Heating-Controls Description])
318
298
  end
319
299
 
320
- def multiple_glazed_proportion
321
- nil
322
- end
323
-
324
- def glazed_area
325
- nil
326
- end
327
-
328
- def habitable_room_count
329
- nil
330
- end
331
-
332
- def heated_room_count
333
- nil
334
- end
335
-
336
300
  def low_energy_lighting
337
301
  xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Percentage])
338
302
  end
339
303
 
340
304
  def fixed_lighting_outlets_count
341
- xpath(%w[Fixed-Lighting-Outlets-Count])
305
+ xpath(%w[Fixed-Lighting-Outlets-Count])&.to_i
342
306
  end
343
307
 
344
308
  def low_energy_fixed_lighting_outlets_count
345
- xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Count])
309
+ xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Count])&.to_i
346
310
  end
347
311
 
348
312
  def open_fireplaces_count
349
- xpath(%w[Open-Fireplaces-Count])
313
+ xpath(%w[Open-Fireplaces-Count])&.to_i
350
314
  end
351
315
 
352
316
  def hot_water_description
@@ -397,26 +361,14 @@ module ViewModel
397
361
  xpath(%w[Lighting Environmental-Efficiency-Rating])
398
362
  end
399
363
 
400
- def photovoltaic_roof_area_percent
401
- nil
402
- end
403
-
404
364
  def wind_turbine_count
405
- xpath(%w[Wind-Turbines-Count])
406
- end
407
-
408
- def heat_loss_corridor
409
- nil
365
+ xpath(%w[Wind-Turbines-Count])&.to_i
410
366
  end
411
367
 
412
368
  def all_main_heating_descriptions
413
369
  @xml_doc.search("Main-Heating/Description").map(&:content)
414
370
  end
415
371
 
416
- def unheated_corridor_length
417
- nil
418
- end
419
-
420
372
  def built_form
421
373
  xpath(%w[Built-Form])
422
374
  end
@@ -465,18 +417,6 @@ module ViewModel
465
417
  @xml_doc.search("Main-Heating/Energy-Efficiency-Rating").map(&:content)
466
418
  end
467
419
 
468
- def extensions_count
469
- nil
470
- end
471
-
472
- def solar_water_heating_flag
473
- nil
474
- end
475
-
476
- def mechanical_ventilation
477
- nil
478
- end
479
-
480
420
  def floor_height
481
421
  @xml_doc.search("Storey-Height").map(&:content)
482
422
  end
@@ -550,7 +490,7 @@ module ViewModel
550
490
  end
551
491
 
552
492
  def mech_vent_sys_index_number
553
- xpath(%w[Mechanical-Vent-System-Index-Number])
493
+ xpath(%w[Mechanical-Vent-System-Index-Number])&.to_i
554
494
  end
555
495
 
556
496
  def mechanical_vent_data_source
@@ -564,14 +504,6 @@ module ViewModel
564
504
  def ventilation_type
565
505
  xpath(%w[Ventilation-Type])
566
506
  end
567
-
568
- def gas_smart_meter_present
569
- nil
570
- end
571
-
572
- def electricity_smart_meter_present
573
- nil
574
- end
575
507
  end
576
508
  end
577
509
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: epb_view_models
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.3
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - DLUHC Energy Performance of Buildings
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-03-11 00:00:00.000000000 Z
11
+ date: 2024-03-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.11'
19
+ version: '1.16'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.11'
26
+ version: '1.16'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: zeitwerk
29
29
  requirement: !ruby/object:Gem::Requirement