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
@@ -90,7 +90,7 @@ module ViewModel
|
|
90
90
|
end
|
91
91
|
|
92
92
|
def related_party_disclosure_number
|
93
|
-
xpath(%w[Related-Party-Disclosure-Number])
|
93
|
+
xpath(%w[Related-Party-Disclosure-Number])&.to_i
|
94
94
|
end
|
95
95
|
|
96
96
|
def improvements
|
@@ -149,11 +149,11 @@ module ViewModel
|
|
149
149
|
end
|
150
150
|
|
151
151
|
def potential_energy_rating
|
152
|
-
xpath(%w[Energy-Rating-Potential])
|
152
|
+
xpath(%w[Energy-Rating-Potential])&.to_i
|
153
153
|
end
|
154
154
|
|
155
155
|
def current_energy_rating
|
156
|
-
xpath(%w[Energy-Rating-Current])
|
156
|
+
xpath(%w[Energy-Rating-Current])&.to_i
|
157
157
|
end
|
158
158
|
|
159
159
|
def primary_energy_use
|
@@ -180,10 +180,6 @@ module ViewModel
|
|
180
180
|
xpath(%w[Construction-Year])
|
181
181
|
end
|
182
182
|
|
183
|
-
def tenure
|
184
|
-
nil
|
185
|
-
end
|
186
|
-
|
187
183
|
def transaction_type
|
188
184
|
xpath(%w[Transaction-Type])
|
189
185
|
end
|
@@ -198,19 +194,19 @@ module ViewModel
|
|
198
194
|
|
199
195
|
def impact_of_cavity_insulation
|
200
196
|
if xpath(%w[Impact-Of-Cavity-Insulation])
|
201
|
-
xpath(%w[Impact-Of-Cavity-Insulation])
|
197
|
+
xpath(%w[Impact-Of-Cavity-Insulation])&.to_i
|
202
198
|
end
|
203
199
|
end
|
204
200
|
|
205
201
|
def impact_of_loft_insulation
|
206
202
|
if xpath(%w[Impact-Of-Loft-Insulation])
|
207
|
-
xpath(%w[Impact-Of-Loft-Insulation])
|
203
|
+
xpath(%w[Impact-Of-Loft-Insulation])&.to_i
|
208
204
|
end
|
209
205
|
end
|
210
206
|
|
211
207
|
def impact_of_solid_wall_insulation
|
212
208
|
if xpath(%w[Impact-Of-Solid-Wall-Insulation])
|
213
|
-
xpath(%w[Impact-Of-Solid-Wall-Insulation])
|
209
|
+
xpath(%w[Impact-Of-Solid-Wall-Insulation])&.to_i
|
214
210
|
end
|
215
211
|
end
|
216
212
|
|
@@ -227,7 +223,7 @@ module ViewModel
|
|
227
223
|
end
|
228
224
|
|
229
225
|
def type_of_assessment
|
230
|
-
case xpath(%w[Report-Type])
|
226
|
+
case xpath(%w[Report-Type])&.to_i
|
231
227
|
when 1
|
232
228
|
"HCR"
|
233
229
|
when 2
|
@@ -238,21 +234,17 @@ module ViewModel
|
|
238
234
|
end
|
239
235
|
|
240
236
|
def environmental_impact_current
|
241
|
-
xpath(%w[Environmental-Impact-Current])
|
237
|
+
xpath(%w[Environmental-Impact-Current])&.to_i
|
242
238
|
end
|
243
239
|
|
244
240
|
def environmental_impact_potential
|
245
|
-
xpath(%w[Environmental-Impact-Potential])
|
241
|
+
xpath(%w[Environmental-Impact-Potential])&.to_i
|
246
242
|
end
|
247
243
|
|
248
244
|
def co2_emissions_current_per_floor_area
|
249
245
|
xpath(%w[CO2-Emissions-Current-Per-Floor-Area])
|
250
246
|
end
|
251
247
|
|
252
|
-
def mains_gas
|
253
|
-
nil
|
254
|
-
end
|
255
|
-
|
256
248
|
def level
|
257
249
|
xpath(%w[Level])
|
258
250
|
end
|
@@ -262,10 +254,6 @@ module ViewModel
|
|
262
254
|
flat_level_code == "3" ? "Y" : "N"
|
263
255
|
end
|
264
256
|
|
265
|
-
def storey_count
|
266
|
-
nil
|
267
|
-
end
|
268
|
-
|
269
257
|
def main_heating_controls
|
270
258
|
xpath(%w[Main-Heating-Controls Description])
|
271
259
|
end
|
@@ -274,32 +262,20 @@ module ViewModel
|
|
274
262
|
xpath(%w[Multiple-Glazed-Proportion])
|
275
263
|
end
|
276
264
|
|
277
|
-
def glazed_area
|
278
|
-
nil
|
279
|
-
end
|
280
|
-
|
281
|
-
def habitable_room_count
|
282
|
-
nil
|
283
|
-
end
|
284
|
-
|
285
|
-
def heated_room_count
|
286
|
-
nil
|
287
|
-
end
|
288
|
-
|
289
265
|
def low_energy_lighting
|
290
266
|
xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Percentage])
|
291
267
|
end
|
292
268
|
|
293
269
|
def fixed_lighting_outlets_count
|
294
|
-
xpath(%w[Fixed-Lighting-Outlets-Count])
|
270
|
+
xpath(%w[Fixed-Lighting-Outlets-Count])&.to_i
|
295
271
|
end
|
296
272
|
|
297
273
|
def low_energy_fixed_lighting_outlets_count
|
298
|
-
xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Count])
|
274
|
+
xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Count])&.to_i
|
299
275
|
end
|
300
276
|
|
301
277
|
def open_fireplaces_count
|
302
|
-
xpath(%w[Open-Fireplaces-Count])
|
278
|
+
xpath(%w[Open-Fireplaces-Count])&.to_i
|
303
279
|
end
|
304
280
|
|
305
281
|
def hot_water_description
|
@@ -350,16 +326,12 @@ module ViewModel
|
|
350
326
|
xpath(%w[Lighting Environmental-Efficiency-Rating])
|
351
327
|
end
|
352
328
|
|
353
|
-
def photovoltaic_roof_area_percent
|
354
|
-
nil
|
355
|
-
end
|
356
|
-
|
357
329
|
def built_form
|
358
330
|
xpath(%w[Built-Form])
|
359
331
|
end
|
360
332
|
|
361
333
|
def wind_turbine_count
|
362
|
-
xpath(%w[Wind-Turbines-Count])
|
334
|
+
xpath(%w[Wind-Turbines-Count])&.to_i
|
363
335
|
end
|
364
336
|
|
365
337
|
def heat_loss_corridor
|
@@ -375,7 +347,7 @@ module ViewModel
|
|
375
347
|
end
|
376
348
|
|
377
349
|
def extensions_count
|
378
|
-
xpath(%w[Extensions-Count])
|
350
|
+
xpath(%w[Extensions-Count])&.to_i
|
379
351
|
end
|
380
352
|
|
381
353
|
def all_main_heating_controls_descriptions
|
@@ -422,14 +394,6 @@ module ViewModel
|
|
422
394
|
@xml_doc.search("Main-Heating/Energy-Efficiency-Rating").map(&:content)
|
423
395
|
end
|
424
396
|
|
425
|
-
def solar_water_heating_flag
|
426
|
-
nil
|
427
|
-
end
|
428
|
-
|
429
|
-
def mechanical_ventilation
|
430
|
-
nil
|
431
|
-
end
|
432
|
-
|
433
397
|
def main_dwelling_construction_age_band_or_year
|
434
398
|
sap_building_parts =
|
435
399
|
@xml_doc.xpath("//SAP-Building-Parts/SAP-Building-Part")
|
@@ -485,14 +449,6 @@ module ViewModel
|
|
485
449
|
.search("Main-Heating-Controls/Environmental-Efficiency-Rating")
|
486
450
|
.map(&:content)
|
487
451
|
end
|
488
|
-
|
489
|
-
def gas_smart_meter_present
|
490
|
-
nil
|
491
|
-
end
|
492
|
-
|
493
|
-
def electricity_smart_meter_present
|
494
|
-
nil
|
495
|
-
end
|
496
452
|
end
|
497
453
|
end
|
498
454
|
end
|
@@ -30,11 +30,11 @@ module ViewModel
|
|
30
30
|
end
|
31
31
|
|
32
32
|
def habitable_room_count
|
33
|
-
xpath(%w[Habitable-Room-Count])
|
33
|
+
xpath(%w[Habitable-Room-Count])&.to_i
|
34
34
|
end
|
35
35
|
|
36
36
|
def heated_room_count
|
37
|
-
xpath(%w[Heated-Room-Count])
|
37
|
+
xpath(%w[Heated-Room-Count])&.to_i
|
38
38
|
end
|
39
39
|
|
40
40
|
def photovoltaic_roof_area_percent
|
@@ -54,7 +54,7 @@ module ViewModel
|
|
54
54
|
end
|
55
55
|
|
56
56
|
def storey_count
|
57
|
-
xpath(%w[Storey-Count])
|
57
|
+
xpath(%w[Storey-Count])&.to_i
|
58
58
|
end
|
59
59
|
|
60
60
|
def energy_tariff
|
@@ -81,22 +81,6 @@ module ViewModel
|
|
81
81
|
xpath(%w[Cylinder-Thermostat])
|
82
82
|
end
|
83
83
|
|
84
|
-
def mech_vent_sys_index_number
|
85
|
-
nil
|
86
|
-
end
|
87
|
-
|
88
|
-
def mechanical_vent_data_source
|
89
|
-
nil
|
90
|
-
end
|
91
|
-
|
92
|
-
def thermal_store
|
93
|
-
nil
|
94
|
-
end
|
95
|
-
|
96
|
-
def ventilation_type
|
97
|
-
nil
|
98
|
-
end
|
99
|
-
|
100
84
|
def water_heating_fuel
|
101
85
|
xpath(%w[Water-Heating-Fuel])
|
102
86
|
end
|
@@ -85,7 +85,7 @@ module ViewModel
|
|
85
85
|
end
|
86
86
|
|
87
87
|
def related_party_disclosure_number
|
88
|
-
xpath(%w[Related-Party-Disclosure-Number])
|
88
|
+
xpath(%w[Related-Party-Disclosure-Number])&.to_i
|
89
89
|
end
|
90
90
|
|
91
91
|
def improvements
|
@@ -144,11 +144,11 @@ module ViewModel
|
|
144
144
|
end
|
145
145
|
|
146
146
|
def potential_energy_rating
|
147
|
-
xpath(%w[Energy-Rating-Potential])
|
147
|
+
xpath(%w[Energy-Rating-Potential])&.to_i
|
148
148
|
end
|
149
149
|
|
150
150
|
def current_energy_rating
|
151
|
-
xpath(%w[Energy-Rating-Current])
|
151
|
+
xpath(%w[Energy-Rating-Current])&.to_i
|
152
152
|
end
|
153
153
|
|
154
154
|
def primary_energy_use
|
@@ -175,10 +175,6 @@ module ViewModel
|
|
175
175
|
xpath(%w[Construction-Age-Band])
|
176
176
|
end
|
177
177
|
|
178
|
-
def tenure
|
179
|
-
nil
|
180
|
-
end
|
181
|
-
|
182
178
|
def transaction_type
|
183
179
|
xpath(%w[Transaction-Type])
|
184
180
|
end
|
@@ -193,19 +189,19 @@ module ViewModel
|
|
193
189
|
|
194
190
|
def impact_of_cavity_insulation
|
195
191
|
if xpath(%w[Impact-Of-Cavity-Insulation])
|
196
|
-
xpath(%w[Impact-Of-Cavity-Insulation])
|
192
|
+
xpath(%w[Impact-Of-Cavity-Insulation])&.to_i
|
197
193
|
end
|
198
194
|
end
|
199
195
|
|
200
196
|
def impact_of_loft_insulation
|
201
197
|
if xpath(%w[Impact-Of-Loft-Insulation])
|
202
|
-
xpath(%w[Impact-Of-Loft-Insulation])
|
198
|
+
xpath(%w[Impact-Of-Loft-Insulation])&.to_i
|
203
199
|
end
|
204
200
|
end
|
205
201
|
|
206
202
|
def impact_of_solid_wall_insulation
|
207
203
|
if xpath(%w[Impact-Of-Solid-Wall-Insulation])
|
208
|
-
xpath(%w[Impact-Of-Solid-Wall-Insulation])
|
204
|
+
xpath(%w[Impact-Of-Solid-Wall-Insulation])&.to_i
|
209
205
|
end
|
210
206
|
end
|
211
207
|
|
@@ -222,7 +218,7 @@ module ViewModel
|
|
222
218
|
end
|
223
219
|
|
224
220
|
def type_of_assessment
|
225
|
-
case xpath(%w[Report-Type])
|
221
|
+
case xpath(%w[Report-Type])&.to_i
|
226
222
|
when 1
|
227
223
|
"HCR"
|
228
224
|
when 2
|
@@ -233,21 +229,17 @@ module ViewModel
|
|
233
229
|
end
|
234
230
|
|
235
231
|
def environmental_impact_current
|
236
|
-
xpath(%w[Environmental-Impact-Current])
|
232
|
+
xpath(%w[Environmental-Impact-Current])&.to_i
|
237
233
|
end
|
238
234
|
|
239
235
|
def environmental_impact_potential
|
240
|
-
xpath(%w[Environmental-Impact-Potential])
|
236
|
+
xpath(%w[Environmental-Impact-Potential])&.to_i
|
241
237
|
end
|
242
238
|
|
243
239
|
def co2_emissions_current_per_floor_area
|
244
240
|
xpath(%w[CO2-Emissions-Current-Per-Floor-Area])
|
245
241
|
end
|
246
242
|
|
247
|
-
def mains_gas
|
248
|
-
nil
|
249
|
-
end
|
250
|
-
|
251
243
|
def level
|
252
244
|
xpath(%w[Level])
|
253
245
|
end
|
@@ -257,10 +249,6 @@ module ViewModel
|
|
257
249
|
flat_level_code == "3" ? "Y" : "N"
|
258
250
|
end
|
259
251
|
|
260
|
-
def storey_count
|
261
|
-
nil
|
262
|
-
end
|
263
|
-
|
264
252
|
def main_heating_controls
|
265
253
|
xpath(%w[Main-Heating-Controls Description])
|
266
254
|
end
|
@@ -273,28 +261,20 @@ module ViewModel
|
|
273
261
|
xpath(%w[Glazed-Area])
|
274
262
|
end
|
275
263
|
|
276
|
-
def habitable_room_count
|
277
|
-
nil
|
278
|
-
end
|
279
|
-
|
280
|
-
def heated_room_count
|
281
|
-
nil
|
282
|
-
end
|
283
|
-
|
284
264
|
def low_energy_lighting
|
285
265
|
xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Percentage])
|
286
266
|
end
|
287
267
|
|
288
268
|
def fixed_lighting_outlets_count
|
289
|
-
xpath(%w[Fixed-Lighting-Outlets-Count])
|
269
|
+
xpath(%w[Fixed-Lighting-Outlets-Count])&.to_i
|
290
270
|
end
|
291
271
|
|
292
272
|
def low_energy_fixed_lighting_outlets_count
|
293
|
-
xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Count])
|
273
|
+
xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Count])&.to_i
|
294
274
|
end
|
295
275
|
|
296
276
|
def open_fireplaces_count
|
297
|
-
xpath(%w[Open-Fireplaces-Count])
|
277
|
+
xpath(%w[Open-Fireplaces-Count])&.to_i
|
298
278
|
end
|
299
279
|
|
300
280
|
def hot_water_description
|
@@ -345,16 +325,12 @@ module ViewModel
|
|
345
325
|
xpath(%w[Lighting Environmental-Efficiency-Rating])
|
346
326
|
end
|
347
327
|
|
348
|
-
def photovoltaic_roof_area_percent
|
349
|
-
nil
|
350
|
-
end
|
351
|
-
|
352
328
|
def built_form
|
353
329
|
xpath(%w[Built-Form])
|
354
330
|
end
|
355
331
|
|
356
332
|
def wind_turbine_count
|
357
|
-
xpath(%w[Wind-Turbines-Count])
|
333
|
+
xpath(%w[Wind-Turbines-Count])&.to_i
|
358
334
|
end
|
359
335
|
|
360
336
|
def heat_loss_corridor
|
@@ -374,7 +350,7 @@ module ViewModel
|
|
374
350
|
end
|
375
351
|
|
376
352
|
def extensions_count
|
377
|
-
xpath(%w[Extensions-Count])
|
353
|
+
xpath(%w[Extensions-Count])&.to_i
|
378
354
|
end
|
379
355
|
|
380
356
|
def report_type
|
@@ -417,14 +393,6 @@ module ViewModel
|
|
417
393
|
@xml_doc.search("Main-Heating/Energy-Efficiency-Rating").map(&:content)
|
418
394
|
end
|
419
395
|
|
420
|
-
def solar_water_heating_flag
|
421
|
-
nil
|
422
|
-
end
|
423
|
-
|
424
|
-
def mechanical_ventilation
|
425
|
-
nil
|
426
|
-
end
|
427
|
-
|
428
396
|
def main_dwelling_construction_age_band_or_year
|
429
397
|
sap_building_parts =
|
430
398
|
@xml_doc.xpath("//SAP-Building-Parts/SAP-Building-Part")
|
@@ -480,14 +448,6 @@ module ViewModel
|
|
480
448
|
.search("Main-Heating-Controls/Environmental-Efficiency-Rating")
|
481
449
|
.map(&:content)
|
482
450
|
end
|
483
|
-
|
484
|
-
def gas_smart_meter_present
|
485
|
-
nil
|
486
|
-
end
|
487
|
-
|
488
|
-
def electricity_smart_meter_present
|
489
|
-
nil
|
490
|
-
end
|
491
451
|
end
|
492
452
|
end
|
493
453
|
end
|
@@ -34,11 +34,11 @@ module ViewModel
|
|
34
34
|
end
|
35
35
|
|
36
36
|
def habitable_room_count
|
37
|
-
xpath(%w[Habitable-Room-Count])
|
37
|
+
xpath(%w[Habitable-Room-Count])&.to_i
|
38
38
|
end
|
39
39
|
|
40
40
|
def heated_room_count
|
41
|
-
xpath(%w[Heated-Room-Count])
|
41
|
+
xpath(%w[Heated-Room-Count])&.to_i
|
42
42
|
end
|
43
43
|
|
44
44
|
def photovoltaic_roof_area_percent
|
@@ -58,7 +58,7 @@ module ViewModel
|
|
58
58
|
end
|
59
59
|
|
60
60
|
def storey_count
|
61
|
-
xpath(%w[Storey-Count])
|
61
|
+
xpath(%w[Storey-Count])&.to_i
|
62
62
|
end
|
63
63
|
|
64
64
|
def energy_tariff
|
@@ -81,22 +81,6 @@ module ViewModel
|
|
81
81
|
xpath(%w[Cylinder-Thermostat])
|
82
82
|
end
|
83
83
|
|
84
|
-
def mech_vent_sys_index_number
|
85
|
-
nil
|
86
|
-
end
|
87
|
-
|
88
|
-
def mechanical_vent_data_source
|
89
|
-
nil
|
90
|
-
end
|
91
|
-
|
92
|
-
def thermal_store
|
93
|
-
nil
|
94
|
-
end
|
95
|
-
|
96
|
-
def ventilation_type
|
97
|
-
nil
|
98
|
-
end
|
99
|
-
|
100
84
|
def water_heating_fuel
|
101
85
|
xpath(%w[Water-Heating-Fuel])
|
102
86
|
end
|
@@ -81,7 +81,7 @@ module ViewModel
|
|
81
81
|
end
|
82
82
|
|
83
83
|
def related_party_disclosure_number
|
84
|
-
xpath(%w[Related-Party-Disclosure-Number])
|
84
|
+
xpath(%w[Related-Party-Disclosure-Number])&.to_i
|
85
85
|
end
|
86
86
|
|
87
87
|
def improvements
|
@@ -140,11 +140,11 @@ module ViewModel
|
|
140
140
|
end
|
141
141
|
|
142
142
|
def potential_energy_rating
|
143
|
-
xpath(%w[Energy-Rating-Potential])
|
143
|
+
xpath(%w[Energy-Rating-Potential])&.to_i
|
144
144
|
end
|
145
145
|
|
146
146
|
def current_energy_rating
|
147
|
-
xpath(%w[Energy-Rating-Current])
|
147
|
+
xpath(%w[Energy-Rating-Current])&.to_i
|
148
148
|
end
|
149
149
|
|
150
150
|
def primary_energy_use
|
@@ -189,19 +189,19 @@ module ViewModel
|
|
189
189
|
|
190
190
|
def impact_of_cavity_insulation
|
191
191
|
if xpath(%w[Impact-Of-Cavity-Insulation])
|
192
|
-
xpath(%w[Impact-Of-Cavity-Insulation])
|
192
|
+
xpath(%w[Impact-Of-Cavity-Insulation])&.to_i
|
193
193
|
end
|
194
194
|
end
|
195
195
|
|
196
196
|
def impact_of_loft_insulation
|
197
197
|
if xpath(%w[Impact-Of-Loft-Insulation])
|
198
|
-
xpath(%w[Impact-Of-Loft-Insulation])
|
198
|
+
xpath(%w[Impact-Of-Loft-Insulation])&.to_i
|
199
199
|
end
|
200
200
|
end
|
201
201
|
|
202
202
|
def impact_of_solid_wall_insulation
|
203
203
|
if xpath(%w[Impact-Of-Solid-Wall-Insulation])
|
204
|
-
xpath(%w[Impact-Of-Solid-Wall-Insulation])
|
204
|
+
xpath(%w[Impact-Of-Solid-Wall-Insulation])&.to_i
|
205
205
|
end
|
206
206
|
end
|
207
207
|
|
@@ -218,7 +218,7 @@ module ViewModel
|
|
218
218
|
end
|
219
219
|
|
220
220
|
def type_of_assessment
|
221
|
-
case xpath(%w[Report-Type])
|
221
|
+
case xpath(%w[Report-Type])&.to_i
|
222
222
|
when 1
|
223
223
|
"HCR"
|
224
224
|
when 2
|
@@ -229,21 +229,17 @@ module ViewModel
|
|
229
229
|
end
|
230
230
|
|
231
231
|
def environmental_impact_current
|
232
|
-
xpath(%w[Environmental-Impact-Current])
|
232
|
+
xpath(%w[Environmental-Impact-Current])&.to_i
|
233
233
|
end
|
234
234
|
|
235
235
|
def environmental_impact_potential
|
236
|
-
xpath(%w[Environmental-Impact-Potential])
|
236
|
+
xpath(%w[Environmental-Impact-Potential])&.to_i
|
237
237
|
end
|
238
238
|
|
239
239
|
def co2_emissions_current_per_floor_area
|
240
240
|
xpath(%w[CO2-Emissions-Current-Per-Floor-Area])
|
241
241
|
end
|
242
242
|
|
243
|
-
def mains_gas
|
244
|
-
nil
|
245
|
-
end
|
246
|
-
|
247
243
|
def level
|
248
244
|
xpath(%w[Level])
|
249
245
|
end
|
@@ -253,10 +249,6 @@ module ViewModel
|
|
253
249
|
flat_level_code == "3" ? "Y" : "N"
|
254
250
|
end
|
255
251
|
|
256
|
-
def storey_count
|
257
|
-
nil
|
258
|
-
end
|
259
|
-
|
260
252
|
def main_heating_controls
|
261
253
|
xpath(%w[Main-Heating-Controls Description])
|
262
254
|
end
|
@@ -269,28 +261,20 @@ module ViewModel
|
|
269
261
|
xpath(%w[Glazed-Area])
|
270
262
|
end
|
271
263
|
|
272
|
-
def habitable_room_count
|
273
|
-
nil
|
274
|
-
end
|
275
|
-
|
276
|
-
def heated_room_count
|
277
|
-
nil
|
278
|
-
end
|
279
|
-
|
280
264
|
def low_energy_lighting
|
281
265
|
xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Percentage])
|
282
266
|
end
|
283
267
|
|
284
268
|
def fixed_lighting_outlets_count
|
285
|
-
xpath(%w[Fixed-Lighting-Outlets-Count])
|
269
|
+
xpath(%w[Fixed-Lighting-Outlets-Count])&.to_i
|
286
270
|
end
|
287
271
|
|
288
272
|
def low_energy_fixed_lighting_outlets_count
|
289
|
-
xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Count])
|
273
|
+
xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Count])&.to_i
|
290
274
|
end
|
291
275
|
|
292
276
|
def open_fireplaces_count
|
293
|
-
xpath(%w[Open-Fireplaces-Count])
|
277
|
+
xpath(%w[Open-Fireplaces-Count])&.to_i
|
294
278
|
end
|
295
279
|
|
296
280
|
def hot_water_description
|
@@ -341,16 +325,12 @@ module ViewModel
|
|
341
325
|
xpath(%w[Lighting Environmental-Efficiency-Rating])
|
342
326
|
end
|
343
327
|
|
344
|
-
def photovoltaic_roof_area_percent
|
345
|
-
nil
|
346
|
-
end
|
347
|
-
|
348
328
|
def built_form
|
349
329
|
xpath(%w[Built-Form])
|
350
330
|
end
|
351
331
|
|
352
332
|
def wind_turbine_count
|
353
|
-
xpath(%w[Wind-Turbines-Count])
|
333
|
+
xpath(%w[Wind-Turbines-Count])&.to_i
|
354
334
|
end
|
355
335
|
|
356
336
|
def heat_loss_corridor
|
@@ -366,7 +346,7 @@ module ViewModel
|
|
366
346
|
end
|
367
347
|
|
368
348
|
def extensions_count
|
369
|
-
xpath(%w[Extensions-Count])
|
349
|
+
xpath(%w[Extensions-Count])&.to_i
|
370
350
|
end
|
371
351
|
|
372
352
|
def all_main_heating_controls_descriptions
|
@@ -413,14 +393,6 @@ module ViewModel
|
|
413
393
|
@xml_doc.search("Main-Heating/Energy-Efficiency-Rating").map(&:content)
|
414
394
|
end
|
415
395
|
|
416
|
-
def solar_water_heating_flag
|
417
|
-
nil
|
418
|
-
end
|
419
|
-
|
420
|
-
def mechanical_ventilation
|
421
|
-
nil
|
422
|
-
end
|
423
|
-
|
424
396
|
def main_dwelling_construction_age_band_or_year
|
425
397
|
sap_building_parts =
|
426
398
|
@xml_doc.xpath("//SAP-Building-Parts/SAP-Building-Part")
|
@@ -476,14 +448,6 @@ module ViewModel
|
|
476
448
|
.search("Main-Heating-Controls/Environmental-Efficiency-Rating")
|
477
449
|
.map(&:content)
|
478
450
|
end
|
479
|
-
|
480
|
-
def gas_smart_meter_present
|
481
|
-
nil
|
482
|
-
end
|
483
|
-
|
484
|
-
def electricity_smart_meter_present
|
485
|
-
nil
|
486
|
-
end
|
487
451
|
end
|
488
452
|
end
|
489
453
|
end
|
@@ -34,11 +34,11 @@ module ViewModel
|
|
34
34
|
end
|
35
35
|
|
36
36
|
def habitable_room_count
|
37
|
-
xpath(%w[Habitable-Room-Count])
|
37
|
+
xpath(%w[Habitable-Room-Count])&.to_i
|
38
38
|
end
|
39
39
|
|
40
40
|
def heated_room_count
|
41
|
-
xpath(%w[Heated-Room-Count])
|
41
|
+
xpath(%w[Heated-Room-Count])&.to_i
|
42
42
|
end
|
43
43
|
|
44
44
|
def photovoltaic_roof_area_percent
|
@@ -58,7 +58,7 @@ module ViewModel
|
|
58
58
|
end
|
59
59
|
|
60
60
|
def storey_count
|
61
|
-
xpath(%w[Storey-Count])
|
61
|
+
xpath(%w[Storey-Count])&.to_i
|
62
62
|
end
|
63
63
|
|
64
64
|
def energy_tariff
|
@@ -81,22 +81,6 @@ module ViewModel
|
|
81
81
|
xpath(%w[Cylinder-Thermostat])
|
82
82
|
end
|
83
83
|
|
84
|
-
def mech_vent_sys_index_number
|
85
|
-
nil
|
86
|
-
end
|
87
|
-
|
88
|
-
def mechanical_vent_data_source
|
89
|
-
nil
|
90
|
-
end
|
91
|
-
|
92
|
-
def thermal_store
|
93
|
-
nil
|
94
|
-
end
|
95
|
-
|
96
|
-
def ventilation_type
|
97
|
-
nil
|
98
|
-
end
|
99
|
-
|
100
84
|
def water_heating_fuel
|
101
85
|
xpath(%w[Water-Heating-Fuel])
|
102
86
|
end
|