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.
- 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/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
|