epb_view_models 1.2.3 → 2.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +1 -1
- data/Gemfile.lock +38 -28
- data/epb_view_models.gemspec +1 -1
- data/lib/epb_view_models.rb +1 -1
- data/lib/helper/energy_band_calculator.rb +8 -0
- data/lib/presenter/cepc/report.rb +11 -15
- data/lib/presenter/cepc/summary.rb +5 -14
- data/lib/presenter/dec/report.rb +5 -9
- data/lib/presenter/dec/summary.rb +3 -11
- data/lib/presenter/dec/xml_summary.rb +2 -2
- data/lib/presenter/export/base.rb +4 -4
- data/lib/presenter/export/commercial.rb +16 -27
- data/lib/presenter/export/domestic.rb +30 -39
- data/lib/presenter/rd_sap/domestic_digest.rb +2 -4
- data/lib/presenter/rd_sap/report.rb +47 -57
- data/lib/presenter/rd_sap/summary.rb +13 -21
- data/lib/presenter/sap/domestic_digest.rb +2 -4
- data/lib/presenter/sap/report.rb +49 -59
- data/lib/presenter/sap/summary.rb +27 -41
- data/lib/view_model/cepc31/cepc.rb +4 -44
- data/lib/view_model/cepc31/common_schema.rb +1 -1
- data/lib/view_model/cepc31/dec.rb +14 -34
- data/lib/view_model/cepc40/ac_report.rb +1 -1
- data/lib/view_model/cepc40/cepc.rb +6 -30
- data/lib/view_model/cepc40/common_schema.rb +1 -1
- data/lib/view_model/cepc40/dec.rb +16 -16
- data/lib/view_model/cepc50/ac_report.rb +1 -1
- data/lib/view_model/cepc50/cepc.rb +6 -10
- data/lib/view_model/cepc50/common_schema.rb +1 -1
- data/lib/view_model/cepc50/dec.rb +16 -16
- data/lib/view_model/cepc51/ac_report.rb +1 -1
- data/lib/view_model/cepc51/cepc.rb +6 -6
- data/lib/view_model/cepc51/common_schema.rb +1 -1
- data/lib/view_model/cepc51/dec.rb +16 -16
- data/lib/view_model/cepc60/ac_report.rb +1 -1
- data/lib/view_model/cepc60/cepc.rb +6 -10
- data/lib/view_model/cepc60/common_schema.rb +1 -1
- data/lib/view_model/cepc60/dec.rb +17 -17
- data/lib/view_model/cepc70/ac_cert.rb +3 -3
- data/lib/view_model/cepc70/ac_report.rb +1 -1
- data/lib/view_model/cepc70/cepc.rb +6 -10
- data/lib/view_model/cepc70/common_schema.rb +1 -1
- data/lib/view_model/cepc70/dec.rb +17 -17
- data/lib/view_model/cepc71/ac_cert.rb +3 -3
- data/lib/view_model/cepc71/ac_report.rb +1 -1
- data/lib/view_model/cepc71/cepc.rb +6 -6
- data/lib/view_model/cepc71/common_schema.rb +1 -1
- data/lib/view_model/cepc71/dec.rb +17 -17
- data/lib/view_model/cepc800/ac_cert.rb +3 -3
- data/lib/view_model/cepc800/ac_report.rb +1 -1
- data/lib/view_model/cepc800/cepc.rb +6 -11
- data/lib/view_model/cepc800/common_schema.rb +1 -1
- data/lib/view_model/cepc800/dec.rb +17 -17
- data/lib/view_model/cepc_ni800/ac_cert.rb +3 -3
- data/lib/view_model/cepc_ni800/ac_report.rb +1 -1
- data/lib/view_model/cepc_ni800/cepc.rb +6 -10
- data/lib/view_model/cepc_ni800/common_schema.rb +1 -1
- data/lib/view_model/cepc_ni800/dec.rb +17 -17
- data/lib/view_model/rd_sap_schema_170/common_schema.rb +17 -25
- data/lib/view_model/rd_sap_schema_171/common_schema.rb +17 -25
- data/lib/view_model/rd_sap_schema_180/common_schema.rb +17 -25
- data/lib/view_model/rd_sap_schema_190/common_schema.rb +17 -25
- data/lib/view_model/rd_sap_schema_200/common_schema.rb +17 -25
- data/lib/view_model/rd_sap_schema_210/common_schema.rb +14 -34
- data/lib/view_model/rd_sap_schema_ni_173/common_schema.rb +17 -25
- data/lib/view_model/rd_sap_schema_ni_174/common_schema.rb +17 -25
- data/lib/view_model/rd_sap_schema_ni_180/common_schema.rb +17 -25
- data/lib/view_model/rd_sap_schema_ni_190/common_schema.rb +17 -25
- data/lib/view_model/rd_sap_schema_ni_200/common_schema.rb +17 -25
- data/lib/view_model/sap_schema_102/common_schema.rb +13 -85
- data/lib/view_model/sap_schema_102/rdsap.rb +3 -3
- data/lib/view_model/sap_schema_110/common_schema.rb +13 -65
- data/lib/view_model/sap_schema_110/rdsap.rb +3 -19
- data/lib/view_model/sap_schema_110/sap.rb +1 -1
- data/lib/view_model/sap_schema_112/common_schema.rb +13 -65
- data/lib/view_model/sap_schema_112/rdsap.rb +3 -19
- data/lib/view_model/sap_schema_112/sap.rb +1 -1
- data/lib/view_model/sap_schema_120/common_schema.rb +13 -61
- data/lib/view_model/sap_schema_120/rdsap.rb +3 -19
- data/lib/view_model/sap_schema_120/sap.rb +1 -1
- data/lib/view_model/sap_schema_130/common_schema.rb +13 -61
- data/lib/view_model/sap_schema_130/rdsap.rb +3 -19
- data/lib/view_model/sap_schema_130/sap.rb +1 -1
- data/lib/view_model/sap_schema_140/common_schema.rb +14 -58
- data/lib/view_model/sap_schema_140/rdsap.rb +3 -19
- data/lib/view_model/sap_schema_140/sap.rb +1 -1
- data/lib/view_model/sap_schema_141/common_schema.rb +14 -58
- data/lib/view_model/sap_schema_141/rdsap.rb +3 -19
- data/lib/view_model/sap_schema_141/sap.rb +1 -1
- data/lib/view_model/sap_schema_142/common_schema.rb +14 -58
- data/lib/view_model/sap_schema_142/rdsap.rb +3 -19
- data/lib/view_model/sap_schema_142/sap.rb +1 -1
- data/lib/view_model/sap_schema_150/common_schema.rb +14 -58
- data/lib/view_model/sap_schema_150/rdsap.rb +3 -19
- data/lib/view_model/sap_schema_150/sap.rb +1 -1
- data/lib/view_model/sap_schema_160/common_schema.rb +14 -58
- data/lib/view_model/sap_schema_160/rdsap.rb +3 -19
- data/lib/view_model/sap_schema_160/sap.rb +1 -1
- data/lib/view_model/sap_schema_161/common_schema.rb +14 -58
- data/lib/view_model/sap_schema_161/rdsap.rb +3 -19
- data/lib/view_model/sap_schema_161/sap.rb +1 -1
- data/lib/view_model/sap_schema_162/common_schema.rb +14 -58
- data/lib/view_model/sap_schema_162/rdsap.rb +3 -19
- data/lib/view_model/sap_schema_162/sap.rb +1 -1
- data/lib/view_model/sap_schema_163/common_schema.rb +13 -53
- data/lib/view_model/sap_schema_163/rdsap.rb +3 -19
- data/lib/view_model/sap_schema_163/sap.rb +1 -1
- data/lib/view_model/sap_schema_170/common_schema.rb +13 -65
- data/lib/view_model/sap_schema_171/common_schema.rb +13 -65
- data/lib/view_model/sap_schema_1800/common_schema.rb +12 -64
- data/lib/view_model/sap_schema_1900/common_schema.rb +10 -50
- data/lib/view_model/sap_schema_1910/common_schema.rb +10 -50
- data/lib/view_model/sap_schema_ni_112/common_schema.rb +13 -61
- data/lib/view_model/sap_schema_ni_112/rdsap.rb +3 -19
- data/lib/view_model/sap_schema_ni_112/sap.rb +1 -1
- data/lib/view_model/sap_schema_ni_120/common_schema.rb +13 -61
- data/lib/view_model/sap_schema_ni_120/rdsap.rb +3 -19
- data/lib/view_model/sap_schema_ni_120/sap.rb +1 -1
- data/lib/view_model/sap_schema_ni_130/common_schema.rb +13 -61
- data/lib/view_model/sap_schema_ni_130/rdsap.rb +3 -19
- data/lib/view_model/sap_schema_ni_130/sap.rb +1 -1
- data/lib/view_model/sap_schema_ni_140/common_schema.rb +14 -58
- data/lib/view_model/sap_schema_ni_140/rdsap.rb +3 -19
- data/lib/view_model/sap_schema_ni_140/sap.rb +1 -1
- data/lib/view_model/sap_schema_ni_141/common_schema.rb +14 -58
- data/lib/view_model/sap_schema_ni_141/rdsap.rb +3 -19
- data/lib/view_model/sap_schema_ni_141/sap.rb +1 -1
- data/lib/view_model/sap_schema_ni_142/common_schema.rb +14 -58
- data/lib/view_model/sap_schema_ni_142/rdsap.rb +3 -19
- data/lib/view_model/sap_schema_ni_142/sap.rb +1 -1
- data/lib/view_model/sap_schema_ni_150/common_schema.rb +14 -58
- data/lib/view_model/sap_schema_ni_150/rdsap.rb +3 -19
- data/lib/view_model/sap_schema_ni_150/sap.rb +1 -1
- data/lib/view_model/sap_schema_ni_160/common_schema.rb +14 -54
- data/lib/view_model/sap_schema_ni_160/rdsap.rb +3 -19
- data/lib/view_model/sap_schema_ni_160/sap.rb +1 -1
- data/lib/view_model/sap_schema_ni_161/common_schema.rb +14 -50
- data/lib/view_model/sap_schema_ni_161/rdsap.rb +3 -19
- data/lib/view_model/sap_schema_ni_161/sap.rb +1 -1
- data/lib/view_model/sap_schema_ni_170/common_schema.rb +14 -54
- data/lib/view_model/sap_schema_ni_170/rdsap.rb +3 -19
- data/lib/view_model/sap_schema_ni_170/sap.rb +1 -1
- data/lib/view_model/sap_schema_ni_171/common_schema.rb +14 -54
- data/lib/view_model/sap_schema_ni_171/rdsap.rb +3 -19
- data/lib/view_model/sap_schema_ni_171/sap.rb +1 -1
- data/lib/view_model/sap_schema_ni_172/common_schema.rb +14 -54
- data/lib/view_model/sap_schema_ni_172/rdsap.rb +3 -23
- data/lib/view_model/sap_schema_ni_172/sap.rb +1 -1
- data/lib/view_model/sap_schema_ni_173/common_schema.rb +10 -78
- data/lib/view_model/sap_schema_ni_174/common_schema.rb +10 -78
- data/lib/view_model/sap_schema_ni_1800/common_schema.rb +10 -78
- 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])
|
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])
|
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])
|
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])
|
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])
|
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])
|
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])
|
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])
|
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])
|
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])
|
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])
|
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])
|
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])
|
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])
|
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])
|
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])
|
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])
|
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])
|
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])
|
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])
|
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])
|
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])
|
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])
|
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
|