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
@@ -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")
|
@@ -164,11 +160,11 @@ module ViewModel
|
|
164
160
|
end
|
165
161
|
|
166
162
|
def potential_energy_rating
|
167
|
-
xpath(%w[Energy-Rating-Potential])
|
163
|
+
xpath(%w[Energy-Rating-Potential])&.to_i
|
168
164
|
end
|
169
165
|
|
170
166
|
def current_energy_rating
|
171
|
-
xpath(%w[Energy-Rating-Current])
|
167
|
+
xpath(%w[Energy-Rating-Current])&.to_i
|
172
168
|
end
|
173
169
|
|
174
170
|
def primary_energy_use
|
@@ -196,14 +192,6 @@ module ViewModel
|
|
196
192
|
xpath(%w[Construction-Year])
|
197
193
|
end
|
198
194
|
|
199
|
-
def tenure
|
200
|
-
nil
|
201
|
-
end
|
202
|
-
|
203
|
-
def transaction_type
|
204
|
-
nil
|
205
|
-
end
|
206
|
-
|
207
195
|
def current_space_heating_demand
|
208
196
|
xpath(%w[Space-Heating-Existing-Dwelling])
|
209
197
|
end
|
@@ -214,19 +202,19 @@ module ViewModel
|
|
214
202
|
|
215
203
|
def impact_of_cavity_insulation
|
216
204
|
if xpath(%w[Impact-Of-Cavity-Insulation])
|
217
|
-
xpath(%w[Impact-Of-Cavity-Insulation])
|
205
|
+
xpath(%w[Impact-Of-Cavity-Insulation])&.to_i
|
218
206
|
end
|
219
207
|
end
|
220
208
|
|
221
209
|
def impact_of_loft_insulation
|
222
210
|
if xpath(%w[Impact-Of-Loft-Insulation])
|
223
|
-
xpath(%w[Impact-Of-Loft-Insulation])
|
211
|
+
xpath(%w[Impact-Of-Loft-Insulation])&.to_i
|
224
212
|
end
|
225
213
|
end
|
226
214
|
|
227
215
|
def impact_of_solid_wall_insulation
|
228
216
|
if xpath(%w[Impact-Of-Solid-Wall-Insulation])
|
229
|
-
xpath(%w[Impact-Of-Solid-Wall-Insulation])
|
217
|
+
xpath(%w[Impact-Of-Solid-Wall-Insulation])&.to_i
|
230
218
|
end
|
231
219
|
end
|
232
220
|
|
@@ -243,7 +231,7 @@ module ViewModel
|
|
243
231
|
end
|
244
232
|
|
245
233
|
def type_of_assessment
|
246
|
-
case xpath(%w[Report-Type])
|
234
|
+
case xpath(%w[Report-Type])&.to_i
|
247
235
|
when 1
|
248
236
|
"HCR"
|
249
237
|
when 2
|
@@ -254,21 +242,17 @@ module ViewModel
|
|
254
242
|
end
|
255
243
|
|
256
244
|
def environmental_impact_current
|
257
|
-
xpath(%w[Environmental-Impact-Current])
|
245
|
+
xpath(%w[Environmental-Impact-Current])&.to_i
|
258
246
|
end
|
259
247
|
|
260
248
|
def environmental_impact_potential
|
261
|
-
xpath(%w[Environmental-Impact-Potential])
|
249
|
+
xpath(%w[Environmental-Impact-Potential])&.to_i
|
262
250
|
end
|
263
251
|
|
264
252
|
def co2_emissions_current_per_floor_area
|
265
253
|
xpath(%w[CO2-Emissions-Current-Per-Floor-Area])
|
266
254
|
end
|
267
255
|
|
268
|
-
def mains_gas
|
269
|
-
nil
|
270
|
-
end
|
271
|
-
|
272
256
|
def level
|
273
257
|
xpath(%w[Level])
|
274
258
|
end
|
@@ -278,10 +262,6 @@ module ViewModel
|
|
278
262
|
flat_level_code == "3" ? "Y" : "N"
|
279
263
|
end
|
280
264
|
|
281
|
-
def storey_count
|
282
|
-
nil
|
283
|
-
end
|
284
|
-
|
285
265
|
def main_heating_controls
|
286
266
|
xpath(%w[Main-Heating-Controls Description])
|
287
267
|
end
|
@@ -290,32 +270,20 @@ module ViewModel
|
|
290
270
|
xpath(%w[Multiple-Glazed-Proportion])
|
291
271
|
end
|
292
272
|
|
293
|
-
def glazed_area
|
294
|
-
nil
|
295
|
-
end
|
296
|
-
|
297
|
-
def habitable_room_count
|
298
|
-
nil
|
299
|
-
end
|
300
|
-
|
301
|
-
def heated_room_count
|
302
|
-
nil
|
303
|
-
end
|
304
|
-
|
305
273
|
def low_energy_lighting
|
306
274
|
xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Percentage])
|
307
275
|
end
|
308
276
|
|
309
277
|
def fixed_lighting_outlets_count
|
310
|
-
xpath(%w[Fixed-Lighting-Outlets-Count])
|
278
|
+
xpath(%w[Fixed-Lighting-Outlets-Count])&.to_i
|
311
279
|
end
|
312
280
|
|
313
281
|
def low_energy_fixed_lighting_outlets_count
|
314
|
-
xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Count])
|
282
|
+
xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Count])&.to_i
|
315
283
|
end
|
316
284
|
|
317
285
|
def open_fireplaces_count
|
318
|
-
xpath(%w[Open-Fireplaces-Count])
|
286
|
+
xpath(%w[Open-Fireplaces-Count])&.to_i
|
319
287
|
end
|
320
288
|
|
321
289
|
def hot_water_description
|
@@ -366,10 +334,6 @@ module ViewModel
|
|
366
334
|
xpath(%w[Lighting Environmental-Efficiency-Rating])
|
367
335
|
end
|
368
336
|
|
369
|
-
def photovoltaic_roof_area_percent
|
370
|
-
nil
|
371
|
-
end
|
372
|
-
|
373
337
|
def built_form
|
374
338
|
xpath(%w[Built-Form])
|
375
339
|
end
|
@@ -379,7 +343,7 @@ module ViewModel
|
|
379
343
|
end
|
380
344
|
|
381
345
|
def wind_turbine_count
|
382
|
-
xpath(%w[Wind-Turbines-Count])
|
346
|
+
xpath(%w[Wind-Turbines-Count])&.to_i
|
383
347
|
end
|
384
348
|
|
385
349
|
def unheated_corridor_length
|
@@ -427,15 +391,7 @@ module ViewModel
|
|
427
391
|
end
|
428
392
|
|
429
393
|
def extensions_count
|
430
|
-
xpath(%w[Extensions-Count])
|
431
|
-
end
|
432
|
-
|
433
|
-
def solar_water_heating_flag
|
434
|
-
nil
|
435
|
-
end
|
436
|
-
|
437
|
-
def mechanical_ventilation
|
438
|
-
nil
|
394
|
+
xpath(%w[Extensions-Count])&.to_i
|
439
395
|
end
|
440
396
|
|
441
397
|
def floor_level
|
@@ -501,14 +457,6 @@ module ViewModel
|
|
501
457
|
end
|
502
458
|
nil
|
503
459
|
end
|
504
|
-
|
505
|
-
def gas_smart_meter_present
|
506
|
-
nil
|
507
|
-
end
|
508
|
-
|
509
|
-
def electricity_smart_meter_present
|
510
|
-
nil
|
511
|
-
end
|
512
460
|
end
|
513
461
|
end
|
514
462
|
end
|
@@ -55,11 +55,11 @@ module ViewModel
|
|
55
55
|
end
|
56
56
|
|
57
57
|
def habitable_room_count
|
58
|
-
xpath(%w[Habitable-Room-Count])
|
58
|
+
xpath(%w[Habitable-Room-Count])&.to_i
|
59
59
|
end
|
60
60
|
|
61
61
|
def heated_room_count
|
62
|
-
xpath(%w[Heated-Room-Count])
|
62
|
+
xpath(%w[Heated-Room-Count])&.to_i
|
63
63
|
end
|
64
64
|
|
65
65
|
def photovoltaic_roof_area_percent
|
@@ -75,7 +75,7 @@ module ViewModel
|
|
75
75
|
end
|
76
76
|
|
77
77
|
def storey_count
|
78
|
-
xpath(%w[Storey-Count])
|
78
|
+
xpath(%w[Storey-Count])&.to_i
|
79
79
|
end
|
80
80
|
|
81
81
|
def energy_tariff
|
@@ -98,22 +98,6 @@ module ViewModel
|
|
98
98
|
xpath(%w[Cylinder-Thermostat])
|
99
99
|
end
|
100
100
|
|
101
|
-
def mech_vent_sys_index_number
|
102
|
-
nil
|
103
|
-
end
|
104
|
-
|
105
|
-
def mechanical_vent_data_source
|
106
|
-
nil
|
107
|
-
end
|
108
|
-
|
109
|
-
def thermal_store
|
110
|
-
nil
|
111
|
-
end
|
112
|
-
|
113
|
-
def ventilation_type
|
114
|
-
nil
|
115
|
-
end
|
116
|
-
|
117
101
|
def water_heating_fuel
|
118
102
|
xpath(%w[Water-Heating-Fuel])
|
119
103
|
end
|
@@ -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")
|
@@ -164,11 +160,11 @@ module ViewModel
|
|
164
160
|
end
|
165
161
|
|
166
162
|
def potential_energy_rating
|
167
|
-
xpath(%w[Energy-Rating-Potential])
|
163
|
+
xpath(%w[Energy-Rating-Potential])&.to_i
|
168
164
|
end
|
169
165
|
|
170
166
|
def current_energy_rating
|
171
|
-
xpath(%w[Energy-Rating-Current])
|
167
|
+
xpath(%w[Energy-Rating-Current])&.to_i
|
172
168
|
end
|
173
169
|
|
174
170
|
def primary_energy_use
|
@@ -196,10 +192,6 @@ module ViewModel
|
|
196
192
|
xpath(%w[Construction-Year])
|
197
193
|
end
|
198
194
|
|
199
|
-
def tenure
|
200
|
-
nil
|
201
|
-
end
|
202
|
-
|
203
195
|
def transaction_type
|
204
196
|
xpath(%w[Transaction-Type])
|
205
197
|
end
|
@@ -214,19 +206,19 @@ module ViewModel
|
|
214
206
|
|
215
207
|
def impact_of_cavity_insulation
|
216
208
|
if xpath(%w[Impact-Of-Cavity-Insulation])
|
217
|
-
xpath(%w[Impact-Of-Cavity-Insulation])
|
209
|
+
xpath(%w[Impact-Of-Cavity-Insulation])&.to_i
|
218
210
|
end
|
219
211
|
end
|
220
212
|
|
221
213
|
def impact_of_loft_insulation
|
222
214
|
if xpath(%w[Impact-Of-Loft-Insulation])
|
223
|
-
xpath(%w[Impact-Of-Loft-Insulation])
|
215
|
+
xpath(%w[Impact-Of-Loft-Insulation])&.to_i
|
224
216
|
end
|
225
217
|
end
|
226
218
|
|
227
219
|
def impact_of_solid_wall_insulation
|
228
220
|
if xpath(%w[Impact-Of-Solid-Wall-Insulation])
|
229
|
-
xpath(%w[Impact-Of-Solid-Wall-Insulation])
|
221
|
+
xpath(%w[Impact-Of-Solid-Wall-Insulation])&.to_i
|
230
222
|
end
|
231
223
|
end
|
232
224
|
|
@@ -243,7 +235,7 @@ module ViewModel
|
|
243
235
|
end
|
244
236
|
|
245
237
|
def type_of_assessment
|
246
|
-
case xpath(%w[Report-Type])
|
238
|
+
case xpath(%w[Report-Type])&.to_i
|
247
239
|
when 1
|
248
240
|
"HCR"
|
249
241
|
when 2
|
@@ -254,21 +246,17 @@ module ViewModel
|
|
254
246
|
end
|
255
247
|
|
256
248
|
def environmental_impact_current
|
257
|
-
xpath(%w[Environmental-Impact-Current])
|
249
|
+
xpath(%w[Environmental-Impact-Current])&.to_i
|
258
250
|
end
|
259
251
|
|
260
252
|
def environmental_impact_potential
|
261
|
-
xpath(%w[Environmental-Impact-Potential])
|
253
|
+
xpath(%w[Environmental-Impact-Potential])&.to_i
|
262
254
|
end
|
263
255
|
|
264
256
|
def co2_emissions_current_per_floor_area
|
265
257
|
xpath(%w[CO2-Emissions-Current-Per-Floor-Area])
|
266
258
|
end
|
267
259
|
|
268
|
-
def mains_gas
|
269
|
-
nil
|
270
|
-
end
|
271
|
-
|
272
260
|
def level
|
273
261
|
xpath(%w[Level])
|
274
262
|
end
|
@@ -278,10 +266,6 @@ module ViewModel
|
|
278
266
|
flat_level_code == "3" ? "Y" : "N"
|
279
267
|
end
|
280
268
|
|
281
|
-
def storey_count
|
282
|
-
nil
|
283
|
-
end
|
284
|
-
|
285
269
|
def main_heating_controls
|
286
270
|
xpath(%w[Main-Heating-Controls Description])
|
287
271
|
end
|
@@ -290,32 +274,20 @@ module ViewModel
|
|
290
274
|
xpath(%w[Multiple-Glazed-Proportion])
|
291
275
|
end
|
292
276
|
|
293
|
-
def glazed_area
|
294
|
-
nil
|
295
|
-
end
|
296
|
-
|
297
|
-
def habitable_room_count
|
298
|
-
nil
|
299
|
-
end
|
300
|
-
|
301
|
-
def heated_room_count
|
302
|
-
nil
|
303
|
-
end
|
304
|
-
|
305
277
|
def low_energy_lighting
|
306
278
|
xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Percentage])
|
307
279
|
end
|
308
280
|
|
309
281
|
def fixed_lighting_outlets_count
|
310
|
-
xpath(%w[Fixed-Lighting-Outlets-Count])
|
282
|
+
xpath(%w[Fixed-Lighting-Outlets-Count])&.to_i
|
311
283
|
end
|
312
284
|
|
313
285
|
def low_energy_fixed_lighting_outlets_count
|
314
|
-
xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Count])
|
286
|
+
xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Count])&.to_i
|
315
287
|
end
|
316
288
|
|
317
289
|
def open_fireplaces_count
|
318
|
-
xpath(%w[Open-Fireplaces-Count])
|
290
|
+
xpath(%w[Open-Fireplaces-Count])&.to_i
|
319
291
|
end
|
320
292
|
|
321
293
|
def hot_water_description
|
@@ -366,10 +338,6 @@ module ViewModel
|
|
366
338
|
xpath(%w[Lighting Environmental-Efficiency-Rating])
|
367
339
|
end
|
368
340
|
|
369
|
-
def photovoltaic_roof_area_percent
|
370
|
-
nil
|
371
|
-
end
|
372
|
-
|
373
341
|
def built_form
|
374
342
|
xpath(%w[Built-Form])
|
375
343
|
end
|
@@ -383,7 +351,7 @@ module ViewModel
|
|
383
351
|
end
|
384
352
|
|
385
353
|
def wind_turbine_count
|
386
|
-
xpath(%w[Wind-Turbines-Count])
|
354
|
+
xpath(%w[Wind-Turbines-Count])&.to_i
|
387
355
|
end
|
388
356
|
|
389
357
|
def all_main_heating_descriptions
|
@@ -391,7 +359,7 @@ module ViewModel
|
|
391
359
|
end
|
392
360
|
|
393
361
|
def extensions_count
|
394
|
-
xpath(%w[Extensions-Count])
|
362
|
+
xpath(%w[Extensions-Count])&.to_i
|
395
363
|
end
|
396
364
|
|
397
365
|
def all_main_heating_controls_descriptions
|
@@ -434,14 +402,6 @@ module ViewModel
|
|
434
402
|
@xml_doc.search("Main-Heating/Energy-Efficiency-Rating").map(&:content)
|
435
403
|
end
|
436
404
|
|
437
|
-
def solar_water_heating_flag
|
438
|
-
nil
|
439
|
-
end
|
440
|
-
|
441
|
-
def mechanical_ventilation
|
442
|
-
nil
|
443
|
-
end
|
444
|
-
|
445
405
|
def main_dwelling_construction_age_band_or_year
|
446
406
|
sap_building_parts =
|
447
407
|
@xml_doc.xpath("//SAP-Building-Parts/SAP-Building-Part")
|
@@ -501,14 +461,6 @@ module ViewModel
|
|
501
461
|
.search("Main-Heating/Environmental-Efficiency-Rating")
|
502
462
|
.map(&:content)
|
503
463
|
end
|
504
|
-
|
505
|
-
def gas_smart_meter_present
|
506
|
-
nil
|
507
|
-
end
|
508
|
-
|
509
|
-
def electricity_smart_meter_present
|
510
|
-
nil
|
511
|
-
end
|
512
464
|
end
|
513
465
|
end
|
514
466
|
end
|
@@ -38,11 +38,11 @@ module ViewModel
|
|
38
38
|
end
|
39
39
|
|
40
40
|
def habitable_room_count
|
41
|
-
xpath(%w[Habitable-Room-Count])
|
41
|
+
xpath(%w[Habitable-Room-Count])&.to_i
|
42
42
|
end
|
43
43
|
|
44
44
|
def heated_room_count
|
45
|
-
xpath(%w[Heated-Room-Count])
|
45
|
+
xpath(%w[Heated-Room-Count])&.to_i
|
46
46
|
end
|
47
47
|
|
48
48
|
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
|
@@ -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")
|
@@ -164,11 +160,11 @@ module ViewModel
|
|
164
160
|
end
|
165
161
|
|
166
162
|
def potential_energy_rating
|
167
|
-
xpath(%w[Energy-Rating-Potential])
|
163
|
+
xpath(%w[Energy-Rating-Potential])&.to_i
|
168
164
|
end
|
169
165
|
|
170
166
|
def current_energy_rating
|
171
|
-
xpath(%w[Energy-Rating-Current])
|
167
|
+
xpath(%w[Energy-Rating-Current])&.to_i
|
172
168
|
end
|
173
169
|
|
174
170
|
def primary_energy_use
|
@@ -195,10 +191,6 @@ module ViewModel
|
|
195
191
|
xpath(%w[Construction-Year])
|
196
192
|
end
|
197
193
|
|
198
|
-
def tenure
|
199
|
-
nil
|
200
|
-
end
|
201
|
-
|
202
194
|
def transaction_type
|
203
195
|
xpath(%w[Transaction-Type])
|
204
196
|
end
|
@@ -213,19 +205,19 @@ module ViewModel
|
|
213
205
|
|
214
206
|
def impact_of_cavity_insulation
|
215
207
|
if xpath(%w[Impact-Of-Cavity-Insulation])
|
216
|
-
xpath(%w[Impact-Of-Cavity-Insulation])
|
208
|
+
xpath(%w[Impact-Of-Cavity-Insulation])&.to_i
|
217
209
|
end
|
218
210
|
end
|
219
211
|
|
220
212
|
def impact_of_loft_insulation
|
221
213
|
if xpath(%w[Impact-Of-Loft-Insulation])
|
222
|
-
xpath(%w[Impact-Of-Loft-Insulation])
|
214
|
+
xpath(%w[Impact-Of-Loft-Insulation])&.to_i
|
223
215
|
end
|
224
216
|
end
|
225
217
|
|
226
218
|
def impact_of_solid_wall_insulation
|
227
219
|
if xpath(%w[Impact-Of-Solid-Wall-Insulation])
|
228
|
-
xpath(%w[Impact-Of-Solid-Wall-Insulation])
|
220
|
+
xpath(%w[Impact-Of-Solid-Wall-Insulation])&.to_i
|
229
221
|
end
|
230
222
|
end
|
231
223
|
|
@@ -242,7 +234,7 @@ module ViewModel
|
|
242
234
|
end
|
243
235
|
|
244
236
|
def type_of_assessment
|
245
|
-
case xpath(%w[Report-Type])
|
237
|
+
case xpath(%w[Report-Type])&.to_i
|
246
238
|
when 1
|
247
239
|
"HCR"
|
248
240
|
when 2
|
@@ -253,21 +245,17 @@ module ViewModel
|
|
253
245
|
end
|
254
246
|
|
255
247
|
def environmental_impact_current
|
256
|
-
xpath(%w[Environmental-Impact-Current])
|
248
|
+
xpath(%w[Environmental-Impact-Current])&.to_i
|
257
249
|
end
|
258
250
|
|
259
251
|
def environmental_impact_potential
|
260
|
-
xpath(%w[Environmental-Impact-Potential])
|
252
|
+
xpath(%w[Environmental-Impact-Potential])&.to_i
|
261
253
|
end
|
262
254
|
|
263
255
|
def co2_emissions_current_per_floor_area
|
264
256
|
xpath(%w[CO2-Emissions-Current-Per-Floor-Area])
|
265
257
|
end
|
266
258
|
|
267
|
-
def mains_gas
|
268
|
-
nil
|
269
|
-
end
|
270
|
-
|
271
259
|
def level
|
272
260
|
xpath(%w[Level])
|
273
261
|
end
|
@@ -277,10 +265,6 @@ module ViewModel
|
|
277
265
|
flat_level_code == "3" ? "Y" : "N"
|
278
266
|
end
|
279
267
|
|
280
|
-
def storey_count
|
281
|
-
nil
|
282
|
-
end
|
283
|
-
|
284
268
|
def main_heating_controls
|
285
269
|
xpath(%w[Main-Heating-Controls Description])
|
286
270
|
end
|
@@ -289,32 +273,20 @@ module ViewModel
|
|
289
273
|
xpath(%w[Multiple-Glazed-Proportion])
|
290
274
|
end
|
291
275
|
|
292
|
-
def glazed_area
|
293
|
-
nil
|
294
|
-
end
|
295
|
-
|
296
|
-
def habitable_room_count
|
297
|
-
nil
|
298
|
-
end
|
299
|
-
|
300
|
-
def heated_room_count
|
301
|
-
nil
|
302
|
-
end
|
303
|
-
|
304
276
|
def low_energy_lighting
|
305
277
|
xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Percentage])
|
306
278
|
end
|
307
279
|
|
308
280
|
def fixed_lighting_outlets_count
|
309
|
-
xpath(%w[Fixed-Lighting-Outlets-Count])
|
281
|
+
xpath(%w[Fixed-Lighting-Outlets-Count])&.to_i
|
310
282
|
end
|
311
283
|
|
312
284
|
def low_energy_fixed_lighting_outlets_count
|
313
|
-
xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Count])
|
285
|
+
xpath(%w[Low-Energy-Fixed-Lighting-Outlets-Count])&.to_i
|
314
286
|
end
|
315
287
|
|
316
288
|
def open_fireplaces_count
|
317
|
-
xpath(%w[Open-Fireplaces-Count])
|
289
|
+
xpath(%w[Open-Fireplaces-Count])&.to_i
|
318
290
|
end
|
319
291
|
|
320
292
|
def hot_water_description
|
@@ -365,10 +337,6 @@ module ViewModel
|
|
365
337
|
xpath(%w[Lighting Environmental-Efficiency-Rating])
|
366
338
|
end
|
367
339
|
|
368
|
-
def photovoltaic_roof_area_percent
|
369
|
-
nil
|
370
|
-
end
|
371
|
-
|
372
340
|
def built_form
|
373
341
|
xpath(%w[Built-Form])
|
374
342
|
end
|
@@ -378,7 +346,7 @@ module ViewModel
|
|
378
346
|
end
|
379
347
|
|
380
348
|
def wind_turbine_count
|
381
|
-
xpath(%w[Wind-Turbines-Count])
|
349
|
+
xpath(%w[Wind-Turbines-Count])&.to_i
|
382
350
|
end
|
383
351
|
|
384
352
|
def unheated_corridor_length
|
@@ -426,15 +394,7 @@ module ViewModel
|
|
426
394
|
end
|
427
395
|
|
428
396
|
def extensions_count
|
429
|
-
xpath(%w[Extensions-Count])
|
430
|
-
end
|
431
|
-
|
432
|
-
def solar_water_heating_flag
|
433
|
-
nil
|
434
|
-
end
|
435
|
-
|
436
|
-
def mechanical_ventilation
|
437
|
-
nil
|
397
|
+
xpath(%w[Extensions-Count])&.to_i
|
438
398
|
end
|
439
399
|
|
440
400
|
def main_dwelling_construction_age_band_or_year
|
@@ -500,14 +460,6 @@ module ViewModel
|
|
500
460
|
.search("Main-Heating-Controls/Environmental-Efficiency-Rating")
|
501
461
|
.map(&:content)
|
502
462
|
end
|
503
|
-
|
504
|
-
def gas_smart_meter_present
|
505
|
-
nil
|
506
|
-
end
|
507
|
-
|
508
|
-
def electricity_smart_meter_present
|
509
|
-
nil
|
510
|
-
end
|
511
463
|
end
|
512
464
|
end
|
513
465
|
end
|