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
@@ -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