epb_view_models 1.2.2 → 2.0.0
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/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 +28 -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
@@ -35,16 +35,14 @@ module Presenter
|
|
35
35
|
@schema_type,
|
36
36
|
@view_model.report_type,
|
37
37
|
),
|
38
|
-
current_energy_efficiency: @view_model.current_energy_rating
|
38
|
+
current_energy_efficiency: @view_model.current_energy_rating,
|
39
39
|
current_energy_rating:
|
40
|
-
Helper::EnergyBandCalculator.domestic(
|
41
|
-
@view_model.current_energy_rating,
|
42
|
-
),
|
40
|
+
Helper::EnergyBandCalculator.domestic(@view_model.current_energy_rating),
|
43
41
|
cylinder_insul_thickness: @view_model.cylinder_insul_thickness,
|
44
42
|
cylinder_insulation_type: @view_model.cylinder_insulation_type,
|
45
43
|
cylinder_size: @view_model.cylinder_size,
|
46
|
-
has_cylinder_thermostat: @view_model.has_cylinder_thermostat == "Y" ? "true" : "false",
|
47
|
-
energy_consumption_current: @view_model.primary_energy_use,
|
44
|
+
has_cylinder_thermostat: @view_model.respond_to?(:has_cylinder_thermostat) && @view_model.has_cylinder_thermostat == "Y" ? "true" : "false",
|
45
|
+
energy_consumption_current: @view_model.respond_to?(:primary_energy_use) ? @view_model.primary_energy_use : nil,
|
48
46
|
energy_consumption_potential: @view_model.energy_consumption_potential,
|
49
47
|
energy_tariff:
|
50
48
|
Helper::XmlEnumsToOutput.energy_tariff(
|
@@ -54,10 +52,10 @@ module Presenter
|
|
54
52
|
environment_impact_current: @view_model.environmental_impact_current,
|
55
53
|
environment_impact_potential:
|
56
54
|
@view_model.environmental_impact_potential,
|
57
|
-
extension_count: @view_model.extensions_count,
|
58
|
-
fixed_lighting_outlets_count: @view_model.fixed_lighting_outlets_count,
|
55
|
+
extension_count: @view_model.respond_to?(:extensions_count) ? @view_model.extensions_count : nil,
|
56
|
+
fixed_lighting_outlets_count: @view_model.respond_to?(:fixed_lighting_outlets_count) ? @view_model.fixed_lighting_outlets_count : nil,
|
59
57
|
flat_top_storey: @view_model.top_storey,
|
60
|
-
flat_storey_count: @view_model.storey_count,
|
58
|
+
flat_storey_count: @view_model.respond_to?(:storey_count) ? @view_model.storey_count : nil,
|
61
59
|
floor_description: @view_model.all_floor_descriptions.first,
|
62
60
|
floor_energy_eff:
|
63
61
|
Helper::XmlEnumsToOutput.energy_rating_string(
|
@@ -70,14 +68,14 @@ module Presenter
|
|
70
68
|
floor_height: @view_model.floor_height.first,
|
71
69
|
floor_level: @view_model.floor_level,
|
72
70
|
glazed_area:
|
73
|
-
Helper::XmlEnumsToOutput.glazed_area_rdsap(@view_model.glazed_area),
|
71
|
+
Helper::XmlEnumsToOutput.glazed_area_rdsap(@view_model.respond_to?(:glazed_area) ? @view_model.glazed_area : nil),
|
74
72
|
glazed_type:
|
75
73
|
Helper::XmlEnumsToOutput.glazed_type_rdsap(
|
76
74
|
@view_model.multi_glazing_type,
|
77
75
|
),
|
78
76
|
heat_loss_corridor:
|
79
77
|
Helper::XmlEnumsToOutput.heat_loss_corridor(
|
80
|
-
@view_model.heat_loss_corridor,
|
78
|
+
@view_model.respond_to?(:heat_loss_corridor) ? @view_model.heat_loss_corridor : nil,
|
81
79
|
),
|
82
80
|
heating_cost_current: @view_model.heating_cost_current,
|
83
81
|
heating_cost_potential: @view_model.heating_cost_potential,
|
@@ -102,9 +100,9 @@ module Presenter
|
|
102
100
|
),
|
103
101
|
lighting_env_eff:
|
104
102
|
Helper::XmlEnumsToOutput.energy_rating_string(@view_model.lighting_environmental_efficiency_rating),
|
105
|
-
low_energy_lighting: @view_model.low_energy_lighting,
|
103
|
+
low_energy_lighting: @view_model.respond_to?(:low_energy_lighting) ? @view_model.low_energy_lighting : nil,
|
106
104
|
low_energy_fixed_lighting_count:
|
107
|
-
@view_model.low_energy_fixed_lighting_outlets_count,
|
105
|
+
@view_model.respond_to?(:low_energy_fixed_lighting_outlets_count) ? @view_model.low_energy_fixed_lighting_outlets_count : nil,
|
108
106
|
main_fuel: Helper::XmlEnumsToOutput.fuel_type(@view_model.main_fuel_type,
|
109
107
|
@schema_type,
|
110
108
|
@view_model.report_type),
|
@@ -128,28 +126,25 @@ module Presenter
|
|
128
126
|
),
|
129
127
|
mainheatcont_description:
|
130
128
|
@view_model.all_main_heating_controls_descriptions.first,
|
131
|
-
mains_gas_flag: @view_model.mains_gas,
|
129
|
+
mains_gas_flag: @view_model.respond_to?(:mains_gas) ? @view_model.mains_gas : nil,
|
132
130
|
mechanical_ventilation:
|
133
131
|
Helper::XmlEnumsToOutput.mechanical_ventilation(
|
134
|
-
@view_model.mechanical_ventilation,
|
132
|
+
@view_model.respond_to?(:mechanical_ventilation) ? @view_model.mechanical_ventilation : nil,
|
135
133
|
@schema_type,
|
136
134
|
@view_model.report_type,
|
137
135
|
),
|
138
136
|
mech_vent_sys_index_number: nil,
|
139
137
|
mechanical_vent_data_source: nil,
|
140
|
-
multi_glaze_proportion: @view_model.multiple_glazed_proportion,
|
141
|
-
number_habitable_rooms: @view_model.habitable_room_count,
|
142
|
-
number_heated_rooms: @view_model.heated_room_count,
|
143
|
-
number_open_fireplaces: @view_model.open_fireplaces_count,
|
144
|
-
photo_supply: @view_model.photovoltaic_roof_area_percent,
|
138
|
+
multi_glaze_proportion: @view_model.respond_to?(:multiple_glazed_proportion) ? @view_model.multiple_glazed_proportion : nil,
|
139
|
+
number_habitable_rooms: @view_model.respond_to?(:habitable_room_count) ? @view_model.habitable_room_count : nil,
|
140
|
+
number_heated_rooms: @view_model.respond_to?(:heated_room_count) ? @view_model.heated_room_count : nil,
|
141
|
+
number_open_fireplaces: @view_model.respond_to?(:open_fireplaces_count) ? @view_model.open_fireplaces_count : nil,
|
142
|
+
photo_supply: @view_model.respond_to?(:photovoltaic_roof_area_percent) ? @view_model.photovoltaic_roof_area_percent : nil,
|
145
143
|
posttown: @view_model.town,
|
146
144
|
postcode: @view_model.postcode,
|
147
|
-
potential_energy_efficiency:
|
148
|
-
@view_model.potential_energy_rating.to_s.chomp,
|
145
|
+
potential_energy_efficiency: @view_model.potential_energy_rating,
|
149
146
|
potential_energy_rating:
|
150
|
-
Helper::EnergyBandCalculator.domestic(
|
151
|
-
@view_model.potential_energy_rating,
|
152
|
-
),
|
147
|
+
Helper::EnergyBandCalculator.domestic(@view_model.potential_energy_rating),
|
153
148
|
property_type:
|
154
149
|
Helper::XmlEnumsToOutput.property_type(@view_model.property_type),
|
155
150
|
report_type: @view_model.report_type,
|
@@ -171,17 +166,17 @@ module Presenter
|
|
171
166
|
Helper::XmlEnumsToOutput.energy_rating_string(
|
172
167
|
@view_model.secondary_heating_environmental_efficiency_rating,
|
173
168
|
),
|
174
|
-
solar_water_heating_flag: @view_model.solar_water_heating_flag,
|
175
|
-
tenure: Helper::XmlEnumsToOutput.tenure(@view_model.tenure),
|
169
|
+
solar_water_heating_flag: @view_model.respond_to?(:solar_water_heating_flag) ? @view_model.solar_water_heating_flag : nil,
|
170
|
+
tenure: Helper::XmlEnumsToOutput.tenure(@view_model.respond_to?(:tenure) ? @view_model.tenure : nil),
|
176
171
|
thermal_store: nil,
|
177
172
|
total_floor_area: @view_model.total_floor_area,
|
178
173
|
transaction_type:
|
179
174
|
Helper::XmlEnumsToOutput.transaction_type(
|
180
|
-
@view_model.transaction_type,
|
175
|
+
@view_model.respond_to?(:transaction_type) ? @view_model.transaction_type : nil,
|
181
176
|
@view_model.report_type,
|
182
177
|
@schema_type,
|
183
178
|
),
|
184
|
-
unheated_corridor_length: @view_model.unheated_corridor_length,
|
179
|
+
unheated_corridor_length: @view_model.respond_to?(:unheated_corridor_length) ? @view_model.unheated_corridor_length : nil,
|
185
180
|
ventilation_type: nil,
|
186
181
|
walls_description: @view_model.all_wall_descriptions.first,
|
187
182
|
walls_energy_eff:
|
@@ -229,27 +224,22 @@ module Presenter
|
|
229
224
|
@view_model.report_type,
|
230
225
|
),
|
231
226
|
current_energy_rating:
|
232
|
-
Helper::EnergyBandCalculator.domestic(
|
233
|
-
@view_model.current_energy_rating,
|
234
|
-
),
|
227
|
+
Helper::EnergyBandCalculator.domestic(@view_model.current_energy_rating),
|
235
228
|
potential_energy_rating:
|
236
|
-
Helper::EnergyBandCalculator.domestic(
|
237
|
-
|
238
|
-
|
239
|
-
current_energy_efficiency: @view_model.current_energy_rating.to_s.chomp,
|
240
|
-
potential_energy_efficiency:
|
241
|
-
@view_model.potential_energy_rating.to_s.chomp,
|
229
|
+
Helper::EnergyBandCalculator.domestic(@view_model.potential_energy_rating),
|
230
|
+
current_energy_efficiency: @view_model.current_energy_rating,
|
231
|
+
potential_energy_efficiency: @view_model.potential_energy_rating,
|
242
232
|
property_type:
|
243
233
|
Helper::XmlEnumsToOutput.property_type(@view_model.property_type),
|
244
|
-
tenure: Helper::XmlEnumsToOutput.tenure(@view_model.tenure),
|
234
|
+
tenure: Helper::XmlEnumsToOutput.tenure(@view_model.respond_to?(:tenure) ? @view_model.tenure : nil),
|
245
235
|
transaction_type:
|
246
236
|
Helper::XmlEnumsToOutput.transaction_type(
|
247
|
-
@view_model.transaction_type,
|
237
|
+
@view_model.respond_to?(:transaction_type) ? @view_model.transaction_type : nil,
|
248
238
|
),
|
249
239
|
environment_impact_current: @view_model.environmental_impact_current,
|
250
240
|
environment_impact_potential:
|
251
241
|
@view_model.environmental_impact_potential,
|
252
|
-
energy_consumption_current: @view_model.primary_energy_use,
|
242
|
+
energy_consumption_current: @view_model.respond_to?(:primary_energy_use) ? @view_model.primary_energy_use : nil,
|
253
243
|
energy_consumption_potential: @view_model.energy_consumption_potential,
|
254
244
|
co2_emissions_current: @view_model.current_carbon_emission,
|
255
245
|
co2_emiss_curr_per_floor_area:
|
@@ -262,19 +252,19 @@ module Presenter
|
|
262
252
|
lighting_cost_current: @view_model.lighting_cost_current,
|
263
253
|
lighting_cost_potential: @view_model.lighting_cost_potential,
|
264
254
|
total_floor_area: @view_model.total_floor_area,
|
265
|
-
mains_gas_flag: @view_model.mains_gas,
|
255
|
+
mains_gas_flag: @view_model.respond_to?(:mains_gas) ? @view_model.mains_gas : nil,
|
266
256
|
flat_top_storey: @view_model.top_storey,
|
267
|
-
flat_storey_count: @view_model.storey_count,
|
268
|
-
multi_glaze_proportion: @view_model.multiple_glazed_proportion,
|
257
|
+
flat_storey_count: @view_model.respond_to?(:storey_count) ? @view_model.storey_count : nil,
|
258
|
+
multi_glaze_proportion: @view_model.respond_to?(:multiple_glazed_proportion) ? @view_model.multiple_glazed_proportion : nil,
|
269
259
|
glazed_area:
|
270
|
-
Helper::XmlEnumsToOutput.glazed_area_rdsap(@view_model.glazed_area),
|
271
|
-
number_habitable_rooms: @view_model.habitable_room_count,
|
272
|
-
number_heated_rooms: @view_model.heated_room_count,
|
273
|
-
low_energy_lighting: @view_model.low_energy_lighting,
|
274
|
-
fixed_lighting_outlets_count: @view_model.fixed_lighting_outlets_count,
|
260
|
+
Helper::XmlEnumsToOutput.glazed_area_rdsap(@view_model.respond_to?(:glazed_area) ? @view_model.glazed_area : nil),
|
261
|
+
number_habitable_rooms: @view_model.respond_to?(:habitable_room_count) ? @view_model.habitable_room_count : nil,
|
262
|
+
number_heated_rooms: @view_model.respond_to?(:heated_room_count) ? @view_model.heated_room_count : nil,
|
263
|
+
low_energy_lighting: @view_model.respond_to?(:low_energy_lighting) ? @view_model.low_energy_lighting : nil,
|
264
|
+
fixed_lighting_outlets_count: @view_model.respond_to?(:fixed_lighting_outlets_count) ? @view_model.fixed_lighting_outlets_count : nil,
|
275
265
|
low_energy_fixed_lighting_outlets_count:
|
276
|
-
@view_model.low_energy_fixed_lighting_outlets_count,
|
277
|
-
number_open_fireplaces: @view_model.open_fireplaces_count,
|
266
|
+
@view_model.respond_to?(:low_energy_fixed_lighting_outlets_count) ? @view_model.low_energy_fixed_lighting_outlets_count : nil,
|
267
|
+
number_open_fireplaces: @view_model.respond_to?(:open_fireplaces_count) ? @view_model.open_fireplaces_count : nil,
|
278
268
|
hotwater_description: @view_model.hot_water_description,
|
279
269
|
hot_water_energy_eff:
|
280
270
|
Helper::XmlEnumsToOutput.energy_rating_string(
|
@@ -287,9 +277,9 @@ module Presenter
|
|
287
277
|
wind_turbine_count: @view_model.wind_turbine_count,
|
288
278
|
heat_loss_corridor:
|
289
279
|
Helper::XmlEnumsToOutput.heat_loss_corridor(
|
290
|
-
@view_model.heat_loss_corridor,
|
280
|
+
@view_model.respond_to?(:heat_loss_corridor) ? @view_model.heat_loss_corridor : nil,
|
291
281
|
),
|
292
|
-
unheated_corridor_length: @view_model.unheated_corridor_length,
|
282
|
+
unheated_corridor_length: @view_model.respond_to?(:unheated_corridor_length) ? @view_model.unheated_corridor_length : nil,
|
293
283
|
windows_description: @view_model.window_description,
|
294
284
|
windows_energy_eff:
|
295
285
|
Helper::XmlEnumsToOutput.energy_rating_string(
|
@@ -317,7 +307,7 @@ module Presenter
|
|
317
307
|
Helper::XmlEnumsToOutput.energy_rating_string(
|
318
308
|
@view_model.lighting_environmental_efficiency_rating,
|
319
309
|
),
|
320
|
-
photo_supply: @view_model.photovoltaic_roof_area_percent,
|
310
|
+
photo_supply: @view_model.respond_to?(:photovoltaic_roof_area_percent) ? @view_model.photovoltaic_roof_area_percent : nil,
|
321
311
|
built_form:
|
322
312
|
Helper::XmlEnumsToOutput.built_form_string(@view_model.built_form),
|
323
313
|
mainheat_description:
|
@@ -330,7 +320,7 @@ module Presenter
|
|
330
320
|
Helper::XmlEnumsToOutput.energy_rating_string(
|
331
321
|
@view_model.all_main_heating_environmental_efficiency.first,
|
332
322
|
),
|
333
|
-
extension_count: @view_model.extensions_count,
|
323
|
+
extension_count: @view_model.respond_to?(:extensions_count) ? @view_model.extensions_count : nil,
|
334
324
|
report_type: @view_model.report_type,
|
335
325
|
mainheatcont_description:
|
336
326
|
@view_model.all_main_heating_controls_descriptions.first,
|
@@ -358,10 +348,10 @@ module Presenter
|
|
358
348
|
@view_model.report_type,
|
359
349
|
),
|
360
350
|
floor_level: @view_model.floor_level,
|
361
|
-
solar_water_heating_flag: @view_model.solar_water_heating_flag,
|
351
|
+
solar_water_heating_flag: @view_model.respond_to?(:solar_water_heating_flag) ? @view_model.solar_water_heating_flag : nil,
|
362
352
|
mechanical_ventilation:
|
363
353
|
Helper::XmlEnumsToOutput.mechanical_ventilation(
|
364
|
-
@view_model.mechanical_ventilation,
|
354
|
+
@view_model.respond_to?(:mechanical_ventilation) ? @view_model.mechanical_ventilation : nil,
|
365
355
|
@schema_type,
|
366
356
|
@view_model.report_type,
|
367
357
|
),
|
@@ -49,9 +49,7 @@ module Presenter
|
|
49
49
|
current_carbon_emission:
|
50
50
|
convert_to_big_decimal(@view_model.current_carbon_emission),
|
51
51
|
current_energy_efficiency_band:
|
52
|
-
Helper::EnergyBandCalculator.domestic(
|
53
|
-
@view_model.current_energy_rating,
|
54
|
-
),
|
52
|
+
Helper::EnergyBandCalculator.domestic(@view_model.current_energy_rating),
|
55
53
|
current_energy_efficiency_rating: @view_model.current_energy_rating,
|
56
54
|
dwelling_type: @view_model.dwelling_type,
|
57
55
|
estimated_energy_cost:,
|
@@ -61,10 +59,9 @@ module Presenter
|
|
61
59
|
@view_model.current_space_heating_demand&.to_i,
|
62
60
|
current_water_heating_demand:
|
63
61
|
@view_model.current_water_heating_demand&.to_i,
|
64
|
-
impact_of_cavity_insulation: @view_model.impact_of_cavity_insulation,
|
65
|
-
impact_of_loft_insulation: @view_model.impact_of_loft_insulation,
|
66
|
-
impact_of_solid_wall_insulation:
|
67
|
-
@view_model.impact_of_solid_wall_insulation,
|
62
|
+
impact_of_cavity_insulation: @view_model.respond_to?(:impact_of_cavity_insulation) ? @view_model.impact_of_cavity_insulation : nil,
|
63
|
+
impact_of_loft_insulation: @view_model.respond_to?(:impact_of_loft_insulation) ? @view_model.impact_of_loft_insulation : nil,
|
64
|
+
impact_of_solid_wall_insulation: @view_model.respond_to?(:impact_of_solid_wall_insulation) ? @view_model.impact_of_solid_wall_insulation : nil,
|
68
65
|
},
|
69
66
|
heating_cost_current: @view_model.heating_cost_current,
|
70
67
|
heating_cost_potential: @view_model.heating_cost_potential,
|
@@ -75,9 +72,7 @@ module Presenter
|
|
75
72
|
potential_carbon_emission:
|
76
73
|
convert_to_big_decimal(@view_model.potential_carbon_emission),
|
77
74
|
potential_energy_efficiency_band:
|
78
|
-
Helper::EnergyBandCalculator.domestic(
|
79
|
-
@view_model.potential_energy_rating,
|
80
|
-
),
|
75
|
+
Helper::EnergyBandCalculator.domestic(@view_model.potential_energy_rating),
|
81
76
|
potential_energy_efficiency_rating: @view_model.potential_energy_rating,
|
82
77
|
potential_energy_saving:
|
83
78
|
Helper::EstimatedCostPotentialSavingHelper.new.potential_saving(
|
@@ -86,25 +81,22 @@ module Presenter
|
|
86
81
|
@view_model.lighting_cost_potential,
|
87
82
|
estimated_energy_cost,
|
88
83
|
),
|
89
|
-
primary_energy_use: @view_model.primary_energy_use,
|
84
|
+
primary_energy_use: @view_model.respond_to?(:primary_energy_use) ? @view_model.primary_energy_use : nil,
|
90
85
|
energy_consumption_potential: @view_model.energy_consumption_potential,
|
91
|
-
property_age_band: @view_model.property_age_band,
|
86
|
+
property_age_band: @view_model.respond_to?(:property_age_band) ? @view_model.property_age_band : nil,
|
92
87
|
property_summary: @view_model.property_summary,
|
93
88
|
recommended_improvements:
|
94
89
|
@view_model.improvements.map do |improvement|
|
95
90
|
improvement[:energy_performance_band_improvement] =
|
96
|
-
Helper::EnergyBandCalculator.domestic(
|
97
|
-
improvement[:energy_performance_rating_improvement],
|
98
|
-
)
|
91
|
+
Helper::EnergyBandCalculator.domestic(improvement[:energy_performance_rating_improvement])
|
99
92
|
improvement
|
100
93
|
end,
|
101
94
|
lzc_energy_sources: @view_model.lzc_energy_sources,
|
102
|
-
related_party_disclosure_number:
|
103
|
-
@view_model.related_party_disclosure_number,
|
95
|
+
related_party_disclosure_number: @view_model.respond_to?(:related_party_disclosure_number) ? @view_model.related_party_disclosure_number : nil,
|
104
96
|
related_party_disclosure_text:
|
105
97
|
@view_model.related_party_disclosure_text,
|
106
|
-
tenure: @view_model.tenure,
|
107
|
-
transaction_type: @view_model.transaction_type,
|
98
|
+
tenure: @view_model.respond_to?(:tenure) ? @view_model.tenure : nil,
|
99
|
+
transaction_type: @view_model.respond_to?(:transaction_type) ? @view_model.transaction_type : nil,
|
108
100
|
total_floor_area: convert_to_big_decimal(@view_model.total_floor_area),
|
109
101
|
status: @view_model.status,
|
110
102
|
country_code: @view_model.country_code,
|
@@ -112,8 +104,8 @@ module Presenter
|
|
112
104
|
environmental_impact_potential:
|
113
105
|
@view_model.environmental_impact_potential,
|
114
106
|
addendum: @view_model.addendum,
|
115
|
-
gas_smart_meter_present: @view_model.gas_smart_meter_present,
|
116
|
-
electricity_smart_meter_present: @view_model.electricity_smart_meter_present,
|
107
|
+
gas_smart_meter_present: @view_model.respond_to?(:gas_smart_meter_present) ? @view_model.gas_smart_meter_present : nil,
|
108
|
+
electricity_smart_meter_present: @view_model.respond_to?(:electricity_smart_meter_present) ? @view_model.electricity_smart_meter_present : nil,
|
117
109
|
}
|
118
110
|
end
|
119
111
|
|
@@ -33,15 +33,13 @@ module Presenter
|
|
33
33
|
@view_model.report_type),
|
34
34
|
has_hot_water_cylinder: @view_model.has_hot_water_cylinder,
|
35
35
|
total_floor_area: @view_model.total_floor_area.to_s,
|
36
|
-
has_mains_gas: @view_model.mains_gas,
|
36
|
+
has_mains_gas: @view_model.respond_to?(:mains_gas) ? @view_model.mains_gas : nil,
|
37
37
|
current_energy_efficiency_rating: @view_model.current_energy_rating,
|
38
38
|
potential_energy_efficiency_rating: @view_model.potential_energy_rating,
|
39
39
|
type_of_property: Helper::XmlEnumsToOutput.property_type(@view_model.property_type),
|
40
40
|
recommended_improvements: @view_model.improvements.map do |improvement|
|
41
41
|
improvement[:energy_performance_band_improvement] =
|
42
|
-
Helper::EnergyBandCalculator.domestic(
|
43
|
-
improvement[:energy_performance_rating_improvement],
|
44
|
-
)
|
42
|
+
Helper::EnergyBandCalculator.domestic(improvement[:energy_performance_rating_improvement])
|
45
43
|
improvement
|
46
44
|
end,
|
47
45
|
}
|
data/lib/presenter/sap/report.rb
CHANGED
@@ -35,16 +35,14 @@ module Presenter
|
|
35
35
|
@schema_type,
|
36
36
|
@view_model.report_type,
|
37
37
|
),
|
38
|
-
current_energy_efficiency: @view_model.current_energy_rating
|
38
|
+
current_energy_efficiency: @view_model.current_energy_rating,
|
39
39
|
current_energy_rating:
|
40
|
-
Helper::EnergyBandCalculator.domestic(
|
41
|
-
@view_model.current_energy_rating,
|
42
|
-
),
|
40
|
+
Helper::EnergyBandCalculator.domestic(@view_model.current_energy_rating),
|
43
41
|
cylinder_insul_thickness: @view_model.cylinder_insul_thickness,
|
44
42
|
cylinder_insulation_type: @view_model.cylinder_insulation_type,
|
45
43
|
cylinder_size: @view_model.cylinder_size,
|
46
|
-
has_cylinder_thermostat: @view_model.has_cylinder_thermostat,
|
47
|
-
energy_consumption_current: @view_model.primary_energy_use,
|
44
|
+
has_cylinder_thermostat: @view_model.respond_to?(:has_cylinder_thermostat) ? @view_model.has_cylinder_thermostat : nil,
|
45
|
+
energy_consumption_current: @view_model.respond_to?(:primary_energy_use) ? @view_model.primary_energy_use : nil,
|
48
46
|
energy_consumption_potential: @view_model.energy_consumption_potential,
|
49
47
|
energy_tariff:
|
50
48
|
Helper::XmlEnumsToOutput.energy_tariff(
|
@@ -54,9 +52,9 @@ module Presenter
|
|
54
52
|
environment_impact_current: @view_model.environmental_impact_current,
|
55
53
|
environment_impact_potential:
|
56
54
|
@view_model.environmental_impact_potential,
|
57
|
-
extension_count: @view_model.extensions_count,
|
58
|
-
fixed_lighting_outlets_count: @view_model.fixed_lighting_outlets_count,
|
59
|
-
flat_storey_count: @view_model.storey_count,
|
55
|
+
extension_count: @view_model.respond_to?(:extensions_count) ? @view_model.extensions_count : nil,
|
56
|
+
fixed_lighting_outlets_count: @view_model.respond_to?(:fixed_lighting_outlets_count) ? @view_model.fixed_lighting_outlets_count : nil,
|
57
|
+
flat_storey_count: @view_model.respond_to?(:storey_count) ? @view_model.storey_count : nil,
|
60
58
|
flat_top_storey: @view_model.top_storey,
|
61
59
|
floor_description: @view_model.all_floor_descriptions.first,
|
62
60
|
floor_energy_eff:
|
@@ -73,14 +71,14 @@ module Presenter
|
|
73
71
|
end,
|
74
72
|
floor_level: @view_model.floor_level,
|
75
73
|
glazed_area:
|
76
|
-
Helper::XmlEnumsToOutput.glazed_area_rdsap(@view_model.glazed_area),
|
74
|
+
Helper::XmlEnumsToOutput.glazed_area_rdsap(@view_model.respond_to?(:glazed_area) ? @view_model.glazed_area : nil),
|
77
75
|
glazed_type:
|
78
76
|
Helper::XmlEnumsToOutput.glazed_type_rdsap(
|
79
77
|
@view_model.multi_glazing_type,
|
80
78
|
),
|
81
79
|
heat_loss_corridor:
|
82
80
|
Helper::XmlEnumsToOutput.heat_loss_corridor(
|
83
|
-
@view_model.heat_loss_corridor,
|
81
|
+
@view_model.respond_to?(:heat_loss_corridor) ? @view_model.heat_loss_corridor : nil,
|
84
82
|
),
|
85
83
|
heating_cost_current: @view_model.heating_cost_current,
|
86
84
|
heating_cost_potential: @view_model.heating_cost_potential,
|
@@ -107,9 +105,9 @@ module Presenter
|
|
107
105
|
Helper::XmlEnumsToOutput.energy_rating_string(
|
108
106
|
@view_model.lighting_environmental_efficiency_rating,
|
109
107
|
),
|
110
|
-
low_energy_lighting: @view_model.low_energy_lighting,
|
108
|
+
low_energy_lighting: @view_model.respond_to?(:low_energy_lighting) ? @view_model.low_energy_lighting : nil,
|
111
109
|
low_energy_fixed_lighting_count:
|
112
|
-
@view_model.low_energy_fixed_lighting_outlets_count,
|
110
|
+
@view_model.respond_to?(:low_energy_fixed_lighting_outlets_count) ? @view_model.low_energy_fixed_lighting_outlets_count : nil,
|
113
111
|
main_fuel:
|
114
112
|
Helper::XmlEnumsToOutput.fuel_type(@view_model.main_fuel_type,
|
115
113
|
@schema_type,
|
@@ -138,25 +136,22 @@ module Presenter
|
|
138
136
|
@view_model.respond_to?(:mains_gas) ? @view_model.mains_gas : nil,
|
139
137
|
mechanical_ventilation:
|
140
138
|
Helper::XmlEnumsToOutput.mechanical_ventilation(
|
141
|
-
@view_model.mechanical_ventilation,
|
139
|
+
@view_model.respond_to?(:mechanical_ventilation) ? @view_model.mechanical_ventilation : nil,
|
142
140
|
@schema_type,
|
143
141
|
@view_model.report_type,
|
144
142
|
),
|
145
|
-
mech_vent_sys_index_number: @view_model.mech_vent_sys_index_number,
|
146
|
-
mechanical_vent_data_source: @view_model.mechanical_vent_data_source,
|
147
|
-
multi_glaze_proportion: @view_model.multiple_glazed_proportion,
|
148
|
-
number_habitable_rooms: @view_model.habitable_room_count,
|
149
|
-
number_heated_rooms: @view_model.heated_room_count,
|
150
|
-
number_open_fireplaces: @view_model.open_fireplaces_count,
|
151
|
-
photo_supply: @view_model.photovoltaic_roof_area_percent,
|
143
|
+
mech_vent_sys_index_number: @view_model.respond_to?(:mech_vent_sys_index_number) ? @view_model.mech_vent_sys_index_number : nil,
|
144
|
+
mechanical_vent_data_source: @view_model.respond_to?(:mechanical_vent_data_source) ? @view_model.mechanical_vent_data_source : nil,
|
145
|
+
multi_glaze_proportion: @view_model.respond_to?(:multiple_glazed_proportion) ? @view_model.multiple_glazed_proportion : nil,
|
146
|
+
number_habitable_rooms: @view_model.respond_to?(:habitable_room_count) ? @view_model.habitable_room_count : nil,
|
147
|
+
number_heated_rooms: @view_model.respond_to?(:heated_room_count) ? @view_model.heated_room_count : nil,
|
148
|
+
number_open_fireplaces: @view_model.respond_to?(:open_fireplaces_count) ? @view_model.open_fireplaces_count : nil,
|
149
|
+
photo_supply: @view_model.respond_to?(:photovoltaic_roof_area_percent) ? @view_model.photovoltaic_roof_area_percent : nil,
|
152
150
|
postcode: @view_model.postcode,
|
153
151
|
posttown: @view_model.town,
|
154
|
-
potential_energy_efficiency:
|
155
|
-
@view_model.potential_energy_rating.to_s.chomp,
|
152
|
+
potential_energy_efficiency: @view_model.potential_energy_rating,
|
156
153
|
potential_energy_rating:
|
157
|
-
Helper::EnergyBandCalculator.domestic(
|
158
|
-
@view_model.potential_energy_rating,
|
159
|
-
),
|
154
|
+
Helper::EnergyBandCalculator.domestic(@view_model.potential_energy_rating),
|
160
155
|
property_type:
|
161
156
|
Helper::XmlEnumsToOutput.property_type(@view_model.property_type),
|
162
157
|
report_type: @view_model.report_type,
|
@@ -178,18 +173,18 @@ module Presenter
|
|
178
173
|
Helper::XmlEnumsToOutput.energy_rating_string(
|
179
174
|
@view_model.secondary_heating_environmental_efficiency_rating,
|
180
175
|
),
|
181
|
-
solar_water_heating_flag: @view_model.solar_water_heating_flag,
|
182
|
-
thermal_store: @view_model.thermal_store,
|
183
|
-
tenure: Helper::XmlEnumsToOutput.tenure(@view_model.tenure),
|
176
|
+
solar_water_heating_flag: @view_model.respond_to?(:solar_water_heating_flag) ? @view_model.solar_water_heating_flag : nil,
|
177
|
+
thermal_store: @view_model.respond_to?(:thermal_store) ? @view_model.thermal_store : nil,
|
178
|
+
tenure: Helper::XmlEnumsToOutput.tenure(@view_model.respond_to?(:tenure) ? @view_model.tenure : nil),
|
184
179
|
total_floor_area: @view_model.total_floor_area,
|
185
180
|
transaction_type:
|
186
181
|
Helper::XmlEnumsToOutput.transaction_type(
|
187
|
-
@view_model.transaction_type,
|
182
|
+
@view_model.respond_to?(:transaction_type) ? @view_model.transaction_type : nil,
|
188
183
|
@view_model.report_type,
|
189
184
|
@schema_type,
|
190
185
|
),
|
191
|
-
ventilation_type: Helper::XmlEnumsToOutput.ventilation_type(@view_model.ventilation_type, @schema_type),
|
192
|
-
unheated_corridor_length: @view_model.unheated_corridor_length,
|
186
|
+
ventilation_type: Helper::XmlEnumsToOutput.ventilation_type(@view_model.respond_to?(:ventilation_type) ? @view_model.ventilation_type : nil, @schema_type),
|
187
|
+
unheated_corridor_length: @view_model.respond_to?(:unheated_corridor_length) ? @view_model.unheated_corridor_length : nil,
|
193
188
|
water_heating_code: @view_model.water_heating_code,
|
194
189
|
walls_description: @view_model.all_wall_descriptions.first,
|
195
190
|
walls_energy_eff:
|
@@ -235,28 +230,23 @@ module Presenter
|
|
235
230
|
@view_model.report_type,
|
236
231
|
),
|
237
232
|
current_energy_rating:
|
238
|
-
Helper::EnergyBandCalculator.domestic(
|
239
|
-
@view_model.current_energy_rating,
|
240
|
-
),
|
233
|
+
Helper::EnergyBandCalculator.domestic(@view_model.current_energy_rating),
|
241
234
|
potential_energy_rating:
|
242
|
-
Helper::EnergyBandCalculator.domestic(
|
243
|
-
|
244
|
-
|
245
|
-
current_energy_efficiency: @view_model.current_energy_rating.to_s.chomp,
|
246
|
-
potential_energy_efficiency:
|
247
|
-
@view_model.potential_energy_rating.to_s.chomp,
|
235
|
+
Helper::EnergyBandCalculator.domestic(@view_model.potential_energy_rating),
|
236
|
+
current_energy_efficiency: @view_model.current_energy_rating,
|
237
|
+
potential_energy_efficiency: @view_model.potential_energy_rating,
|
248
238
|
property_type:
|
249
239
|
Helper::XmlEnumsToOutput.property_type(@view_model.property_type),
|
250
|
-
tenure: Helper::XmlEnumsToOutput.tenure(@view_model.tenure),
|
240
|
+
tenure: Helper::XmlEnumsToOutput.tenure(@view_model.respond_to?(:tenure) ? @view_model.tenure : nil),
|
251
241
|
transaction_type:
|
252
242
|
Helper::XmlEnumsToOutput.transaction_type(
|
253
|
-
@view_model.transaction_type,
|
243
|
+
@view_model.respond_to?(:transaction_type) ? @view_model.transaction_type : nil,
|
254
244
|
@view_model.report_type,
|
255
245
|
),
|
256
246
|
environment_impact_current: @view_model.environmental_impact_current,
|
257
247
|
environment_impact_potential:
|
258
248
|
@view_model.environmental_impact_potential,
|
259
|
-
energy_consumption_current: @view_model.primary_energy_use,
|
249
|
+
energy_consumption_current: @view_model.respond_to?(:primary_energy_use) ? @view_model.primary_energy_use : nil,
|
260
250
|
energy_consumption_potential: @view_model.energy_consumption_potential,
|
261
251
|
co2_emissions_current: @view_model.current_carbon_emission,
|
262
252
|
co2_emiss_curr_per_floor_area:
|
@@ -272,17 +262,17 @@ module Presenter
|
|
272
262
|
mains_gas_flag:
|
273
263
|
@view_model.respond_to?(:mains_gas) ? @view_model.mains_gas : nil,
|
274
264
|
flat_top_storey: @view_model.top_storey,
|
275
|
-
flat_storey_count: @view_model.storey_count,
|
276
|
-
multi_glaze_proportion: @view_model.multiple_glazed_proportion,
|
265
|
+
flat_storey_count: @view_model.respond_to?(:storey_count) ? @view_model.storey_count : nil,
|
266
|
+
multi_glaze_proportion: @view_model.respond_to?(:multiple_glazed_proportion) ? @view_model.multiple_glazed_proportion : nil,
|
277
267
|
glazed_area:
|
278
|
-
Helper::XmlEnumsToOutput.glazed_area_rdsap(@view_model.glazed_area),
|
279
|
-
number_habitable_rooms: @view_model.habitable_room_count,
|
280
|
-
number_heated_rooms: @view_model.heated_room_count,
|
281
|
-
low_energy_lighting: @view_model.low_energy_lighting,
|
282
|
-
fixed_lighting_outlets_count: @view_model.fixed_lighting_outlets_count,
|
268
|
+
Helper::XmlEnumsToOutput.glazed_area_rdsap(@view_model.respond_to?(:glazed_area) ? @view_model.glazed_area : nil),
|
269
|
+
number_habitable_rooms: @view_model.respond_to?(:habitable_room_count) ? @view_model.habitable_room_count : nil,
|
270
|
+
number_heated_rooms: @view_model.respond_to?(:heated_room_count) ? @view_model.heated_room_count : nil,
|
271
|
+
low_energy_lighting: @view_model.respond_to?(:low_energy_lighting) ? @view_model.low_energy_lighting : nil,
|
272
|
+
fixed_lighting_outlets_count: @view_model.respond_to?(:fixed_lighting_outlets_count) ? @view_model.fixed_lighting_outlets_count : nil,
|
283
273
|
low_energy_fixed_lighting_outlets_count:
|
284
|
-
@view_model.low_energy_fixed_lighting_outlets_count,
|
285
|
-
number_open_fireplaces: @view_model.open_fireplaces_count,
|
274
|
+
@view_model.respond_to?(:low_energy_fixed_lighting_outlets_count) ? @view_model.low_energy_fixed_lighting_outlets_count : nil,
|
275
|
+
number_open_fireplaces: @view_model.respond_to?(:open_fireplaces_count) ? @view_model.open_fireplaces_count : nil,
|
286
276
|
hotwater_description: @view_model.hot_water_description,
|
287
277
|
hot_water_energy_eff:
|
288
278
|
Helper::XmlEnumsToOutput.energy_rating_string(
|
@@ -295,9 +285,9 @@ module Presenter
|
|
295
285
|
wind_turbine_count: @view_model.wind_turbine_count,
|
296
286
|
heat_loss_corridor:
|
297
287
|
Helper::XmlEnumsToOutput.heat_loss_corridor(
|
298
|
-
@view_model.heat_loss_corridor,
|
288
|
+
@view_model.respond_to?(:heat_loss_corridor) ? @view_model.heat_loss_corridor : nil,
|
299
289
|
),
|
300
|
-
unheated_corridor_length: @view_model.unheated_corridor_length,
|
290
|
+
unheated_corridor_length: @view_model.respond_to?(:unheated_corridor_length) ? @view_model.unheated_corridor_length : nil,
|
301
291
|
windows_description: @view_model.window_description,
|
302
292
|
windows_energy_eff:
|
303
293
|
Helper::XmlEnumsToOutput.energy_rating_string(
|
@@ -325,7 +315,7 @@ module Presenter
|
|
325
315
|
Helper::XmlEnumsToOutput.energy_rating_string(
|
326
316
|
@view_model.lighting_environmental_efficiency_rating,
|
327
317
|
),
|
328
|
-
photo_supply: @view_model.photovoltaic_roof_area_percent,
|
318
|
+
photo_supply: @view_model.respond_to?(:photovoltaic_roof_area_percent) ? @view_model.photovoltaic_roof_area_percent : nil,
|
329
319
|
built_form:
|
330
320
|
Helper::XmlEnumsToOutput.built_form_string(@view_model.built_form),
|
331
321
|
mainheat_description:
|
@@ -365,11 +355,11 @@ module Presenter
|
|
365
355
|
Helper::XmlEnumsToOutput.energy_rating_string(
|
366
356
|
@view_model.all_main_heating_environmental_efficiency.first,
|
367
357
|
),
|
368
|
-
extension_count: @view_model.extensions_count,
|
369
|
-
solar_water_heating_flag: @view_model.solar_water_heating_flag,
|
358
|
+
extension_count: @view_model.respond_to?(:extensions_count) ? @view_model.extensions_count : nil,
|
359
|
+
solar_water_heating_flag: @view_model.respond_to?(:solar_water_heating_flag) ? @view_model.solar_water_heating_flag : nil,
|
370
360
|
mechanical_ventilation:
|
371
361
|
Helper::XmlEnumsToOutput.mechanical_ventilation(
|
372
|
-
@view_model.mechanical_ventilation,
|
362
|
+
@view_model.respond_to?(:mechanical_ventilation) ? @view_model.mechanical_ventilation : nil,
|
373
363
|
@schema_type,
|
374
364
|
@view_model.report_type,
|
375
365
|
),
|