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
@@ -161,11 +161,11 @@ module ViewModel
161
161
  end
162
162
 
163
163
  def potential_energy_rating
164
- xpath(%w[Energy-Rating-Potential]).to_i
164
+ xpath(%w[Energy-Rating-Potential])&.to_i
165
165
  end
166
166
 
167
167
  def current_energy_rating
168
- xpath(%w[Energy-Rating-Current]).to_i
168
+ xpath(%w[Energy-Rating-Current])&.to_i
169
169
  end
170
170
 
171
171
  def primary_energy_use
@@ -240,19 +240,19 @@ module ViewModel
240
240
 
241
241
  def impact_of_cavity_insulation
242
242
  if xpath(%w[Impact-Of-Cavity-Insulation])
243
- xpath(%w[Impact-Of-Cavity-Insulation]).to_i
243
+ xpath(%w[Impact-Of-Cavity-Insulation])&.to_i
244
244
  end
245
245
  end
246
246
 
247
247
  def impact_of_loft_insulation
248
248
  if xpath(%w[Impact-Of-Loft-Insulation])
249
- xpath(%w[Impact-Of-Loft-Insulation]).to_i
249
+ xpath(%w[Impact-Of-Loft-Insulation])&.to_i
250
250
  end
251
251
  end
252
252
 
253
253
  def impact_of_solid_wall_insulation
254
254
  if xpath(%w[Impact-Of-Solid-Wall-Insulation])
255
- xpath(%w[Impact-Of-Solid-Wall-Insulation]).to_i
255
+ xpath(%w[Impact-Of-Solid-Wall-Insulation])&.to_i
256
256
  end
257
257
  end
258
258
 
@@ -275,10 +275,6 @@ module ViewModel
275
275
  flat_level_code == "3" ? "Y" : "N"
276
276
  end
277
277
 
278
- def storey_count
279
- nil
280
- end
281
-
282
278
  def building_part_number
283
279
  xpath(%w[Building-Part-Number])
284
280
  end
@@ -342,21 +338,17 @@ module ViewModel
342
338
  end
343
339
 
344
340
  def environmental_impact_current
345
- xpath(%w[Environmental-Impact-Current])
341
+ xpath(%w[Environmental-Impact-Current])&.to_i
346
342
  end
347
343
 
348
344
  def environmental_impact_potential
349
- xpath(%w[Environmental-Impact-Potential])
345
+ xpath(%w[Environmental-Impact-Potential])&.to_i
350
346
  end
351
347
 
352
348
  def co2_emissions_current_per_floor_area
353
349
  xpath(%w[CO2-Emissions-Current-Per-Floor-Area])
354
350
  end
355
351
 
356
- def mains_gas
357
- nil
358
- end
359
-
360
352
  def main_heating_controls
361
353
  xpath(%w[Main-Heating-Controls Description])
362
354
  end
@@ -365,32 +357,20 @@ module ViewModel
365
357
  xpath(%w[Multiple-Glazed-Percentage])
366
358
  end
367
359
 
368
- def glazed_area
369
- nil
370
- end
371
-
372
- def habitable_room_count
373
- nil
374
- end
375
-
376
- def heated_room_count
377
- nil
378
- end
379
-
380
360
  def low_energy_lighting
381
361
  xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Percentage])
382
362
  end
383
363
 
384
364
  def fixed_lighting_outlets_count
385
- xpath(%w[Fixed-Lighting-Outlets-Count])
365
+ xpath(%w[Fixed-Lighting-Outlets-Count])&.to_i
386
366
  end
387
367
 
388
368
  def low_energy_fixed_lighting_outlets_count
389
- xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Count])
369
+ xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Count])&.to_i
390
370
  end
391
371
 
392
372
  def open_fireplaces_count
393
- xpath(%w[Open-Fireplaces-Count])
373
+ xpath(%w[Open-Fireplaces-Count])&.to_i
394
374
  end
395
375
 
396
376
  def hot_water_description
@@ -441,24 +421,12 @@ module ViewModel
441
421
  xpath(%w[Lighting Environmental-Efficiency-Rating])
442
422
  end
443
423
 
444
- def photovoltaic_roof_area_percent
445
- nil
446
- end
447
-
448
424
  def built_form
449
425
  xpath(%w[Built-Form])
450
426
  end
451
427
 
452
428
  def wind_turbine_count
453
- xpath(%w[Wind-Turbines-Count])
454
- end
455
-
456
- def unheated_corridor_length
457
- nil
458
- end
459
-
460
- def heat_loss_corridor
461
- nil
429
+ xpath(%w[Wind-Turbines-Count])&.to_i
462
430
  end
463
431
 
464
432
  def all_main_heating_descriptions
@@ -509,18 +477,6 @@ module ViewModel
509
477
  @xml_doc.search("Main-Heating/Energy-Efficiency-Rating").map(&:content)
510
478
  end
511
479
 
512
- def extensions_count
513
- nil
514
- end
515
-
516
- def solar_water_heating_flag
517
- nil
518
- end
519
-
520
- def mechanical_ventilation
521
- nil
522
- end
523
-
524
480
  def floor_height
525
481
  @xml_doc.search("Storey-Height").map(&:content)
526
482
  end
@@ -576,7 +532,7 @@ module ViewModel
576
532
  end
577
533
 
578
534
  def mech_vent_sys_index_number
579
- xpath(%w[Mechanical-Vent-System-Index-Number])
535
+ xpath(%w[Mechanical-Vent-System-Index-Number])&.to_i
580
536
  end
581
537
 
582
538
  def mechanical_vent_data_source
@@ -590,14 +546,6 @@ module ViewModel
590
546
  def ventilation_type
591
547
  xpath(%w[Ventilation-Type])
592
548
  end
593
-
594
- def gas_smart_meter_present
595
- nil
596
- end
597
-
598
- def electricity_smart_meter_present
599
- nil
600
- end
601
549
  end
602
550
  end
603
551
  end
@@ -163,11 +163,11 @@ module ViewModel
163
163
  end
164
164
 
165
165
  def potential_energy_rating
166
- xpath(%w[Energy-Rating-Potential]).to_i
166
+ xpath(%w[Energy-Rating-Potential])&.to_i
167
167
  end
168
168
 
169
169
  def current_energy_rating
170
- xpath(%w[Energy-Rating-Current]).to_i
170
+ xpath(%w[Energy-Rating-Current])&.to_i
171
171
  end
172
172
 
173
173
  def primary_energy_use
@@ -181,7 +181,7 @@ module ViewModel
181
181
  def estimated_energy_cost; end
182
182
 
183
183
  def total_floor_area
184
- xpath(%w[Property-Summary Total-Floor-Area]).to_i
184
+ xpath(%w[Property-Summary Total-Floor-Area])&.to_i
185
185
  end
186
186
 
187
187
  def total_roof_area
@@ -242,19 +242,19 @@ module ViewModel
242
242
 
243
243
  def impact_of_cavity_insulation
244
244
  if xpath(%w[Impact-Of-Cavity-Insulation])
245
- xpath(%w[Impact-Of-Cavity-Insulation]).to_i
245
+ xpath(%w[Impact-Of-Cavity-Insulation])&.to_i
246
246
  end
247
247
  end
248
248
 
249
249
  def impact_of_loft_insulation
250
250
  if xpath(%w[Impact-Of-Loft-Insulation])
251
- xpath(%w[Impact-Of-Loft-Insulation]).to_i
251
+ xpath(%w[Impact-Of-Loft-Insulation])&.to_i
252
252
  end
253
253
  end
254
254
 
255
255
  def impact_of_solid_wall_insulation
256
256
  if xpath(%w[Impact-Of-Solid-Wall-Insulation])
257
- xpath(%w[Impact-Of-Solid-Wall-Insulation]).to_i
257
+ xpath(%w[Impact-Of-Solid-Wall-Insulation])&.to_i
258
258
  end
259
259
  end
260
260
 
@@ -344,21 +344,17 @@ module ViewModel
344
344
  end
345
345
 
346
346
  def environmental_impact_current
347
- xpath(%w[Environmental-Impact-Current])
347
+ xpath(%w[Environmental-Impact-Current])&.to_i
348
348
  end
349
349
 
350
350
  def environmental_impact_potential
351
- xpath(%w[Environmental-Impact-Potential])
351
+ xpath(%w[Environmental-Impact-Potential])&.to_i
352
352
  end
353
353
 
354
354
  def co2_emissions_current_per_floor_area
355
355
  xpath(%w[CO2-Emissions-Current-Per-Floor-Area])
356
356
  end
357
357
 
358
- def mains_gas
359
- nil
360
- end
361
-
362
358
  def main_heating_controls
363
359
  xpath(%w[Main-Heating-Controls Description])
364
360
  end
@@ -367,18 +363,6 @@ module ViewModel
367
363
  xpath(%w[Multiple-Glazed-Percentage])
368
364
  end
369
365
 
370
- def glazed_area
371
- nil
372
- end
373
-
374
- def habitable_room_count
375
- nil
376
- end
377
-
378
- def heated_room_count
379
- nil
380
- end
381
-
382
366
  def fixed_lighting_outlets_count
383
367
  @xml_doc.search("Fixed-Lights/Fixed-Light/Lighting-Outlets").map(&:content).map(&:to_i).sum
384
368
  end
@@ -427,7 +411,7 @@ module ViewModel
427
411
  end
428
412
 
429
413
  def open_fireplaces_count
430
- xpath(%w[Open-Chimneys-Count])
414
+ xpath(%w[Open-Chimneys-Count])&.to_i
431
415
  end
432
416
 
433
417
  def hot_water_description
@@ -478,10 +462,6 @@ module ViewModel
478
462
  xpath(%w[Lighting Environmental-Efficiency-Rating])
479
463
  end
480
464
 
481
- def photovoltaic_roof_area_percent
482
- nil
483
- end
484
-
485
465
  def built_form
486
466
  xpath(%w[Built-Form])
487
467
  end
@@ -490,14 +470,6 @@ module ViewModel
490
470
  @xml_doc.search("Wind-Turbines/Wind-Turbine").map(&:content).count
491
471
  end
492
472
 
493
- def unheated_corridor_length
494
- nil
495
- end
496
-
497
- def heat_loss_corridor
498
- nil
499
- end
500
-
501
473
  def all_main_heating_descriptions
502
474
  @xml_doc.search("Main-Heating/Description").map(&:content)
503
475
  end
@@ -546,18 +518,6 @@ module ViewModel
546
518
  @xml_doc.search("Main-Heating/Energy-Efficiency-Rating").map(&:content)
547
519
  end
548
520
 
549
- def extensions_count
550
- nil
551
- end
552
-
553
- def solar_water_heating_flag
554
- nil
555
- end
556
-
557
- def mechanical_ventilation
558
- nil
559
- end
560
-
561
521
  def floor_height
562
522
  @xml_doc.search("Storey-Height").map(&:content)
563
523
  end
@@ -613,7 +573,7 @@ module ViewModel
613
573
  end
614
574
 
615
575
  def mech_vent_sys_index_number
616
- xpath(%w[Mechanical-Vent-System-Index-Number])
576
+ xpath(%w[Mechanical-Vent-System-Index-Number])&.to_i
617
577
  end
618
578
 
619
579
  def mechanical_vent_data_source
@@ -163,11 +163,11 @@ module ViewModel
163
163
  end
164
164
 
165
165
  def potential_energy_rating
166
- xpath(%w[Energy-Rating-Potential]).to_i
166
+ xpath(%w[Energy-Rating-Potential])&.to_i
167
167
  end
168
168
 
169
169
  def current_energy_rating
170
- xpath(%w[Energy-Rating-Current]).to_i
170
+ xpath(%w[Energy-Rating-Current])&.to_i
171
171
  end
172
172
 
173
173
  def primary_energy_use
@@ -181,7 +181,7 @@ module ViewModel
181
181
  def estimated_energy_cost; end
182
182
 
183
183
  def total_floor_area
184
- xpath(%w[Property-Summary Total-Floor-Area]).to_i
184
+ xpath(%w[Property-Summary Total-Floor-Area])&.to_i
185
185
  end
186
186
 
187
187
  def total_roof_area
@@ -242,19 +242,19 @@ module ViewModel
242
242
 
243
243
  def impact_of_cavity_insulation
244
244
  if xpath(%w[Impact-Of-Cavity-Insulation])
245
- xpath(%w[Impact-Of-Cavity-Insulation]).to_i
245
+ xpath(%w[Impact-Of-Cavity-Insulation])&.to_i
246
246
  end
247
247
  end
248
248
 
249
249
  def impact_of_loft_insulation
250
250
  if xpath(%w[Impact-Of-Loft-Insulation])
251
- xpath(%w[Impact-Of-Loft-Insulation]).to_i
251
+ xpath(%w[Impact-Of-Loft-Insulation])&.to_i
252
252
  end
253
253
  end
254
254
 
255
255
  def impact_of_solid_wall_insulation
256
256
  if xpath(%w[Impact-Of-Solid-Wall-Insulation])
257
- xpath(%w[Impact-Of-Solid-Wall-Insulation]).to_i
257
+ xpath(%w[Impact-Of-Solid-Wall-Insulation])&.to_i
258
258
  end
259
259
  end
260
260
 
@@ -344,21 +344,17 @@ module ViewModel
344
344
  end
345
345
 
346
346
  def environmental_impact_current
347
- xpath(%w[Environmental-Impact-Current])
347
+ xpath(%w[Environmental-Impact-Current])&.to_i
348
348
  end
349
349
 
350
350
  def environmental_impact_potential
351
- xpath(%w[Environmental-Impact-Potential])
351
+ xpath(%w[Environmental-Impact-Potential])&.to_i
352
352
  end
353
353
 
354
354
  def co2_emissions_current_per_floor_area
355
355
  xpath(%w[CO2-Emissions-Current-Per-Floor-Area])
356
356
  end
357
357
 
358
- def mains_gas
359
- nil
360
- end
361
-
362
358
  def main_heating_controls
363
359
  xpath(%w[Main-Heating-Controls Description])
364
360
  end
@@ -367,18 +363,6 @@ module ViewModel
367
363
  xpath(%w[Multiple-Glazed-Percentage])
368
364
  end
369
365
 
370
- def glazed_area
371
- nil
372
- end
373
-
374
- def habitable_room_count
375
- nil
376
- end
377
-
378
- def heated_room_count
379
- nil
380
- end
381
-
382
366
  def fixed_lighting_outlets_count
383
367
  @xml_doc.search("Fixed-Lights/Fixed-Light/Lighting-Outlets").map(&:content).map(&:to_i).sum
384
368
  end
@@ -427,7 +411,7 @@ module ViewModel
427
411
  end
428
412
 
429
413
  def open_fireplaces_count
430
- xpath(%w[Open-Chimneys-Count])
414
+ xpath(%w[Open-Chimneys-Count])&.to_i
431
415
  end
432
416
 
433
417
  def hot_water_description
@@ -478,10 +462,6 @@ module ViewModel
478
462
  xpath(%w[Lighting Environmental-Efficiency-Rating])
479
463
  end
480
464
 
481
- def photovoltaic_roof_area_percent
482
- nil
483
- end
484
-
485
465
  def built_form
486
466
  xpath(%w[Built-Form])
487
467
  end
@@ -490,14 +470,6 @@ module ViewModel
490
470
  @xml_doc.search("Wind-Turbines/Wind-Turbine").map(&:content).count
491
471
  end
492
472
 
493
- def unheated_corridor_length
494
- nil
495
- end
496
-
497
- def heat_loss_corridor
498
- nil
499
- end
500
-
501
473
  def all_main_heating_descriptions
502
474
  @xml_doc.search("Main-Heating/Description").map(&:content)
503
475
  end
@@ -546,18 +518,6 @@ module ViewModel
546
518
  @xml_doc.search("Main-Heating/Energy-Efficiency-Rating").map(&:content)
547
519
  end
548
520
 
549
- def extensions_count
550
- nil
551
- end
552
-
553
- def solar_water_heating_flag
554
- nil
555
- end
556
-
557
- def mechanical_ventilation
558
- nil
559
- end
560
-
561
521
  def floor_height
562
522
  @xml_doc.search("Storey-Height").map(&:content)
563
523
  end
@@ -613,7 +573,7 @@ module ViewModel
613
573
  end
614
574
 
615
575
  def mech_vent_sys_index_number
616
- xpath(%w[Mechanical-Vent-System-Index-Number])
576
+ xpath(%w[Mechanical-Vent-System-Index-Number])&.to_i
617
577
  end
618
578
 
619
579
  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
@@ -187,10 +183,6 @@ module ViewModel
187
183
  xpath(%w[Construction-Year])
188
184
  end
189
185
 
190
- def tenure
191
- nil
192
- end
193
-
194
186
  def transaction_type
195
187
  xpath(%w[Transaction-Type])
196
188
  end
@@ -205,19 +197,19 @@ module ViewModel
205
197
 
206
198
  def impact_of_cavity_insulation
207
199
  if xpath(%w[Impact-Of-Cavity-Insulation])
208
- xpath(%w[Impact-Of-Cavity-Insulation]).to_i
200
+ xpath(%w[Impact-Of-Cavity-Insulation])&.to_i
209
201
  end
210
202
  end
211
203
 
212
204
  def impact_of_loft_insulation
213
205
  if xpath(%w[Impact-Of-Loft-Insulation])
214
- xpath(%w[Impact-Of-Loft-Insulation]).to_i
206
+ xpath(%w[Impact-Of-Loft-Insulation])&.to_i
215
207
  end
216
208
  end
217
209
 
218
210
  def impact_of_solid_wall_insulation
219
211
  if xpath(%w[Impact-Of-Solid-Wall-Insulation])
220
- xpath(%w[Impact-Of-Solid-Wall-Insulation]).to_i
212
+ xpath(%w[Impact-Of-Solid-Wall-Insulation])&.to_i
221
213
  end
222
214
  end
223
215
 
@@ -234,7 +226,7 @@ module ViewModel
234
226
  end
235
227
 
236
228
  def type_of_assessment
237
- case xpath(%w[Report-Type]).to_i
229
+ case xpath(%w[Report-Type])&.to_i
238
230
  when 1
239
231
  "HCR"
240
232
  when 2
@@ -245,21 +237,17 @@ module ViewModel
245
237
  end
246
238
 
247
239
  def environmental_impact_current
248
- xpath(%w[Environmental-Impact-Current])
240
+ xpath(%w[Environmental-Impact-Current])&.to_i
249
241
  end
250
242
 
251
243
  def environmental_impact_potential
252
- xpath(%w[Environmental-Impact-Potential])
244
+ xpath(%w[Environmental-Impact-Potential])&.to_i
253
245
  end
254
246
 
255
247
  def co2_emissions_current_per_floor_area
256
248
  xpath(%w[CO2-Emissions-Current-Per-Floor-Area])
257
249
  end
258
250
 
259
- def mains_gas
260
- nil
261
- end
262
-
263
251
  def level
264
252
  xpath(%w[Level])
265
253
  end
@@ -269,10 +257,6 @@ module ViewModel
269
257
  flat_level_code == "3" ? "Y" : "N"
270
258
  end
271
259
 
272
- def storey_count
273
- nil
274
- end
275
-
276
260
  def main_heating_controls
277
261
  xpath(%w[Main-Heating-Controls Description])
278
262
  end
@@ -281,32 +265,20 @@ module ViewModel
281
265
  xpath(%w[Multiple-Glazed-Proportion])
282
266
  end
283
267
 
284
- def glazed_area
285
- nil
286
- end
287
-
288
- def habitable_room_count
289
- nil
290
- end
291
-
292
- def heated_room_count
293
- nil
294
- end
295
-
296
268
  def low_energy_lighting
297
269
  xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Percentage])
298
270
  end
299
271
 
300
272
  def fixed_lighting_outlets_count
301
- xpath(%w[Fixed-Lighting-Outlets-Count])
273
+ xpath(%w[Fixed-Lighting-Outlets-Count])&.to_i
302
274
  end
303
275
 
304
276
  def low_energy_fixed_lighting_outlets_count
305
- xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Count])
277
+ xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Count])&.to_i
306
278
  end
307
279
 
308
280
  def open_fireplaces_count
309
- xpath(%w[Open-Fireplaces-Count])
281
+ xpath(%w[Open-Fireplaces-Count])&.to_i
310
282
  end
311
283
 
312
284
  def hot_water_description
@@ -357,16 +329,12 @@ module ViewModel
357
329
  xpath(%w[Lighting Environmental-Efficiency-Rating])
358
330
  end
359
331
 
360
- def photovoltaic_roof_area_percent
361
- nil
362
- end
363
-
364
332
  def built_form
365
333
  xpath(%w[Built-Form])
366
334
  end
367
335
 
368
336
  def wind_turbine_count
369
- xpath(%w[Wind-Turbines-Count])
337
+ xpath(%w[Wind-Turbines-Count])&.to_i
370
338
  end
371
339
 
372
340
  def heat_loss_corridor
@@ -382,7 +350,7 @@ module ViewModel
382
350
  end
383
351
 
384
352
  def extensions_count
385
- xpath(%w[Extensions-Count])
353
+ xpath(%w[Extensions-Count])&.to_i
386
354
  end
387
355
 
388
356
  def all_main_heating_controls_descriptions
@@ -429,14 +397,6 @@ module ViewModel
429
397
  @xml_doc.search("Main-Heating/Energy-Efficiency-Rating").map(&:content)
430
398
  end
431
399
 
432
- def solar_water_heating_flag
433
- nil
434
- end
435
-
436
- def mechanical_ventilation
437
- nil
438
- end
439
-
440
400
  def main_dwelling_construction_age_band_or_year
441
401
  sap_building_parts =
442
402
  @xml_doc.xpath("//SAP-Building-Parts/SAP-Building-Part")
@@ -492,14 +452,6 @@ module ViewModel
492
452
  .search("Main-Heating-Controls/Environmental-Efficiency-Rating")
493
453
  .map(&:content)
494
454
  end
495
-
496
- def gas_smart_meter_present
497
- nil
498
- end
499
-
500
- def electricity_smart_meter_present
501
- nil
502
- end
503
455
  end
504
456
  end
505
457
  end
@@ -42,11 +42,11 @@ module ViewModel
42
42
  end
43
43
 
44
44
  def habitable_room_count
45
- xpath(%w[Habitable-Room-Count])
45
+ xpath(%w[Habitable-Room-Count])&.to_i
46
46
  end
47
47
 
48
48
  def heated_room_count
49
- xpath(%w[Heated-Room-Count])
49
+ xpath(%w[Heated-Room-Count])&.to_i
50
50
  end
51
51
 
52
52
  def photovoltaic_roof_area_percent
@@ -62,7 +62,7 @@ module ViewModel
62
62
  end
63
63
 
64
64
  def storey_count
65
- xpath(%w[Storey-Count])
65
+ xpath(%w[Storey-Count])&.to_i
66
66
  end
67
67
 
68
68
  def energy_tariff
@@ -89,27 +89,11 @@ module ViewModel
89
89
  xpath(%w[Cylinder-Thermostat])
90
90
  end
91
91
 
92
- def mech_vent_sys_index_number
93
- nil
94
- end
95
-
96
- def mechanical_vent_data_source
97
- nil
98
- end
99
-
100
92
  # DO NOT CORRECT - this typo is present in the schema XML pre 12.0
101
93
  def mechanical_ventilation
102
94
  xpath(%w[Mechanical-Ventliation])
103
95
  end
104
96
 
105
- def thermal_store
106
- nil
107
- end
108
-
109
- def ventilation_type
110
- nil
111
- end
112
-
113
97
  def water_heating_fuel
114
98
  xpath(%w[Water-Heating-Fuel])
115
99
  end