epb_view_models 1.2.3 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/Gemfile.lock +38 -28
  4. data/epb_view_models.gemspec +1 -1
  5. data/lib/epb_view_models.rb +1 -1
  6. data/lib/presenter/cepc/report.rb +11 -15
  7. data/lib/presenter/cepc/summary.rb +5 -14
  8. data/lib/presenter/dec/report.rb +5 -9
  9. data/lib/presenter/dec/summary.rb +3 -11
  10. data/lib/presenter/dec/xml_summary.rb +2 -2
  11. data/lib/presenter/export/base.rb +4 -4
  12. data/lib/presenter/export/commercial.rb +16 -27
  13. data/lib/presenter/export/domestic.rb +30 -39
  14. data/lib/presenter/rd_sap/domestic_digest.rb +2 -4
  15. data/lib/presenter/rd_sap/report.rb +47 -57
  16. data/lib/presenter/rd_sap/summary.rb +13 -21
  17. data/lib/presenter/sap/domestic_digest.rb +2 -4
  18. data/lib/presenter/sap/report.rb +49 -59
  19. data/lib/presenter/sap/summary.rb +27 -41
  20. data/lib/view_model/cepc31/cepc.rb +4 -44
  21. data/lib/view_model/cepc31/common_schema.rb +1 -1
  22. data/lib/view_model/cepc31/dec.rb +14 -34
  23. data/lib/view_model/cepc40/ac_report.rb +1 -1
  24. data/lib/view_model/cepc40/cepc.rb +6 -30
  25. data/lib/view_model/cepc40/common_schema.rb +1 -1
  26. data/lib/view_model/cepc40/dec.rb +16 -16
  27. data/lib/view_model/cepc50/ac_report.rb +1 -1
  28. data/lib/view_model/cepc50/cepc.rb +6 -10
  29. data/lib/view_model/cepc50/common_schema.rb +1 -1
  30. data/lib/view_model/cepc50/dec.rb +16 -16
  31. data/lib/view_model/cepc51/ac_report.rb +1 -1
  32. data/lib/view_model/cepc51/cepc.rb +6 -6
  33. data/lib/view_model/cepc51/common_schema.rb +1 -1
  34. data/lib/view_model/cepc51/dec.rb +16 -16
  35. data/lib/view_model/cepc60/ac_report.rb +1 -1
  36. data/lib/view_model/cepc60/cepc.rb +6 -10
  37. data/lib/view_model/cepc60/common_schema.rb +1 -1
  38. data/lib/view_model/cepc60/dec.rb +17 -17
  39. data/lib/view_model/cepc70/ac_cert.rb +3 -3
  40. data/lib/view_model/cepc70/ac_report.rb +1 -1
  41. data/lib/view_model/cepc70/cepc.rb +6 -10
  42. data/lib/view_model/cepc70/common_schema.rb +1 -1
  43. data/lib/view_model/cepc70/dec.rb +17 -17
  44. data/lib/view_model/cepc71/ac_cert.rb +3 -3
  45. data/lib/view_model/cepc71/ac_report.rb +1 -1
  46. data/lib/view_model/cepc71/cepc.rb +6 -6
  47. data/lib/view_model/cepc71/common_schema.rb +1 -1
  48. data/lib/view_model/cepc71/dec.rb +17 -17
  49. data/lib/view_model/cepc800/ac_cert.rb +3 -3
  50. data/lib/view_model/cepc800/ac_report.rb +1 -1
  51. data/lib/view_model/cepc800/cepc.rb +6 -11
  52. data/lib/view_model/cepc800/common_schema.rb +1 -1
  53. data/lib/view_model/cepc800/dec.rb +17 -17
  54. data/lib/view_model/cepc_ni800/ac_cert.rb +3 -3
  55. data/lib/view_model/cepc_ni800/ac_report.rb +1 -1
  56. data/lib/view_model/cepc_ni800/cepc.rb +6 -10
  57. data/lib/view_model/cepc_ni800/common_schema.rb +1 -1
  58. data/lib/view_model/cepc_ni800/dec.rb +17 -17
  59. data/lib/view_model/rd_sap_schema_170/common_schema.rb +17 -25
  60. data/lib/view_model/rd_sap_schema_171/common_schema.rb +17 -25
  61. data/lib/view_model/rd_sap_schema_180/common_schema.rb +17 -25
  62. data/lib/view_model/rd_sap_schema_190/common_schema.rb +17 -25
  63. data/lib/view_model/rd_sap_schema_200/common_schema.rb +17 -25
  64. data/lib/view_model/rd_sap_schema_210/common_schema.rb +14 -34
  65. data/lib/view_model/rd_sap_schema_ni_173/common_schema.rb +17 -25
  66. data/lib/view_model/rd_sap_schema_ni_174/common_schema.rb +17 -25
  67. data/lib/view_model/rd_sap_schema_ni_180/common_schema.rb +17 -25
  68. data/lib/view_model/rd_sap_schema_ni_190/common_schema.rb +17 -25
  69. data/lib/view_model/rd_sap_schema_ni_200/common_schema.rb +17 -25
  70. data/lib/view_model/sap_schema_102/common_schema.rb +13 -85
  71. data/lib/view_model/sap_schema_102/rdsap.rb +3 -3
  72. data/lib/view_model/sap_schema_110/common_schema.rb +13 -65
  73. data/lib/view_model/sap_schema_110/rdsap.rb +3 -19
  74. data/lib/view_model/sap_schema_110/sap.rb +1 -1
  75. data/lib/view_model/sap_schema_112/common_schema.rb +13 -65
  76. data/lib/view_model/sap_schema_112/rdsap.rb +3 -19
  77. data/lib/view_model/sap_schema_112/sap.rb +1 -1
  78. data/lib/view_model/sap_schema_120/common_schema.rb +13 -61
  79. data/lib/view_model/sap_schema_120/rdsap.rb +3 -19
  80. data/lib/view_model/sap_schema_120/sap.rb +1 -1
  81. data/lib/view_model/sap_schema_130/common_schema.rb +13 -61
  82. data/lib/view_model/sap_schema_130/rdsap.rb +3 -19
  83. data/lib/view_model/sap_schema_130/sap.rb +1 -1
  84. data/lib/view_model/sap_schema_140/common_schema.rb +14 -58
  85. data/lib/view_model/sap_schema_140/rdsap.rb +3 -19
  86. data/lib/view_model/sap_schema_140/sap.rb +1 -1
  87. data/lib/view_model/sap_schema_141/common_schema.rb +14 -58
  88. data/lib/view_model/sap_schema_141/rdsap.rb +3 -19
  89. data/lib/view_model/sap_schema_141/sap.rb +1 -1
  90. data/lib/view_model/sap_schema_142/common_schema.rb +14 -58
  91. data/lib/view_model/sap_schema_142/rdsap.rb +3 -19
  92. data/lib/view_model/sap_schema_142/sap.rb +1 -1
  93. data/lib/view_model/sap_schema_150/common_schema.rb +14 -58
  94. data/lib/view_model/sap_schema_150/rdsap.rb +3 -19
  95. data/lib/view_model/sap_schema_150/sap.rb +1 -1
  96. data/lib/view_model/sap_schema_160/common_schema.rb +14 -58
  97. data/lib/view_model/sap_schema_160/rdsap.rb +3 -19
  98. data/lib/view_model/sap_schema_160/sap.rb +1 -1
  99. data/lib/view_model/sap_schema_161/common_schema.rb +14 -58
  100. data/lib/view_model/sap_schema_161/rdsap.rb +3 -19
  101. data/lib/view_model/sap_schema_161/sap.rb +1 -1
  102. data/lib/view_model/sap_schema_162/common_schema.rb +14 -58
  103. data/lib/view_model/sap_schema_162/rdsap.rb +3 -19
  104. data/lib/view_model/sap_schema_162/sap.rb +1 -1
  105. data/lib/view_model/sap_schema_163/common_schema.rb +13 -53
  106. data/lib/view_model/sap_schema_163/rdsap.rb +3 -19
  107. data/lib/view_model/sap_schema_163/sap.rb +1 -1
  108. data/lib/view_model/sap_schema_170/common_schema.rb +13 -65
  109. data/lib/view_model/sap_schema_171/common_schema.rb +13 -65
  110. data/lib/view_model/sap_schema_1800/common_schema.rb +12 -64
  111. data/lib/view_model/sap_schema_1900/common_schema.rb +10 -50
  112. data/lib/view_model/sap_schema_1910/common_schema.rb +10 -50
  113. data/lib/view_model/sap_schema_ni_112/common_schema.rb +13 -61
  114. data/lib/view_model/sap_schema_ni_112/rdsap.rb +3 -19
  115. data/lib/view_model/sap_schema_ni_112/sap.rb +1 -1
  116. data/lib/view_model/sap_schema_ni_120/common_schema.rb +13 -61
  117. data/lib/view_model/sap_schema_ni_120/rdsap.rb +3 -19
  118. data/lib/view_model/sap_schema_ni_120/sap.rb +1 -1
  119. data/lib/view_model/sap_schema_ni_130/common_schema.rb +13 -61
  120. data/lib/view_model/sap_schema_ni_130/rdsap.rb +3 -19
  121. data/lib/view_model/sap_schema_ni_130/sap.rb +1 -1
  122. data/lib/view_model/sap_schema_ni_140/common_schema.rb +14 -58
  123. data/lib/view_model/sap_schema_ni_140/rdsap.rb +3 -19
  124. data/lib/view_model/sap_schema_ni_140/sap.rb +1 -1
  125. data/lib/view_model/sap_schema_ni_141/common_schema.rb +14 -58
  126. data/lib/view_model/sap_schema_ni_141/rdsap.rb +3 -19
  127. data/lib/view_model/sap_schema_ni_141/sap.rb +1 -1
  128. data/lib/view_model/sap_schema_ni_142/common_schema.rb +14 -58
  129. data/lib/view_model/sap_schema_ni_142/rdsap.rb +3 -19
  130. data/lib/view_model/sap_schema_ni_142/sap.rb +1 -1
  131. data/lib/view_model/sap_schema_ni_150/common_schema.rb +14 -58
  132. data/lib/view_model/sap_schema_ni_150/rdsap.rb +3 -19
  133. data/lib/view_model/sap_schema_ni_150/sap.rb +1 -1
  134. data/lib/view_model/sap_schema_ni_160/common_schema.rb +14 -54
  135. data/lib/view_model/sap_schema_ni_160/rdsap.rb +3 -19
  136. data/lib/view_model/sap_schema_ni_160/sap.rb +1 -1
  137. data/lib/view_model/sap_schema_ni_161/common_schema.rb +14 -50
  138. data/lib/view_model/sap_schema_ni_161/rdsap.rb +3 -19
  139. data/lib/view_model/sap_schema_ni_161/sap.rb +1 -1
  140. data/lib/view_model/sap_schema_ni_170/common_schema.rb +14 -54
  141. data/lib/view_model/sap_schema_ni_170/rdsap.rb +3 -19
  142. data/lib/view_model/sap_schema_ni_170/sap.rb +1 -1
  143. data/lib/view_model/sap_schema_ni_171/common_schema.rb +14 -54
  144. data/lib/view_model/sap_schema_ni_171/rdsap.rb +3 -19
  145. data/lib/view_model/sap_schema_ni_171/sap.rb +1 -1
  146. data/lib/view_model/sap_schema_ni_172/common_schema.rb +14 -54
  147. data/lib/view_model/sap_schema_ni_172/rdsap.rb +3 -23
  148. data/lib/view_model/sap_schema_ni_172/sap.rb +1 -1
  149. data/lib/view_model/sap_schema_ni_173/common_schema.rb +10 -78
  150. data/lib/view_model/sap_schema_ni_174/common_schema.rb +10 -78
  151. data/lib/view_model/sap_schema_ni_1800/common_schema.rb +10 -78
  152. metadata +4 -4
@@ -45,10 +45,7 @@ module Presenter
45
45
  },
46
46
  current_carbon_emission:
47
47
  convert_to_big_decimal(@view_model.current_carbon_emission),
48
- current_energy_efficiency_band:
49
- Helper::EnergyBandCalculator.domestic(
50
- @view_model.current_energy_rating,
51
- ),
48
+ current_energy_efficiency_band: Helper::EnergyBandCalculator.domestic(@view_model.current_energy_rating),
52
49
  current_energy_efficiency_rating: @view_model.current_energy_rating,
53
50
  dwelling_type: @view_model.dwelling_type,
54
51
  estimated_energy_cost:,
@@ -58,10 +55,9 @@ module Presenter
58
55
  @view_model.current_space_heating_demand&.to_i,
59
56
  current_water_heating_demand:
60
57
  @view_model.current_water_heating_demand&.to_i,
61
- impact_of_cavity_insulation: @view_model.impact_of_cavity_insulation,
62
- impact_of_loft_insulation: @view_model.impact_of_loft_insulation,
63
- impact_of_solid_wall_insulation:
64
- @view_model.impact_of_solid_wall_insulation,
58
+ impact_of_cavity_insulation: @view_model.respond_to?(:impact_of_cavity_insulation) ? @view_model.impact_of_cavity_insulation : nil,
59
+ impact_of_loft_insulation: @view_model.respond_to?(:impact_of_loft_insulation) ? @view_model.impact_of_loft_insulation : nil,
60
+ impact_of_solid_wall_insulation: @view_model.respond_to?(:impact_of_solid_wall_insulation) ? @view_model.impact_of_solid_wall_insulation : nil,
65
61
  },
66
62
  heating_cost_current: @view_model.heating_cost_current,
67
63
  heating_cost_potential: @view_model.heating_cost_potential,
@@ -71,10 +67,7 @@ module Presenter
71
67
  lighting_cost_potential: @view_model.lighting_cost_potential,
72
68
  potential_carbon_emission:
73
69
  convert_to_big_decimal(@view_model.potential_carbon_emission),
74
- potential_energy_efficiency_band:
75
- Helper::EnergyBandCalculator.domestic(
76
- @view_model.potential_energy_rating,
77
- ),
70
+ potential_energy_efficiency_band: Helper::EnergyBandCalculator.domestic(@view_model.potential_energy_rating),
78
71
  potential_energy_efficiency_rating: @view_model.potential_energy_rating,
79
72
  potential_energy_saving:
80
73
  Helper::EstimatedCostPotentialSavingHelper.new.potential_saving(
@@ -83,25 +76,22 @@ module Presenter
83
76
  @view_model.lighting_cost_potential,
84
77
  estimated_energy_cost,
85
78
  ),
86
- primary_energy_use: @view_model.primary_energy_use,
79
+ primary_energy_use: @view_model.respond_to?(:primary_energy_use) ? @view_model.primary_energy_use : nil,
87
80
  energy_consumption_potential: @view_model.energy_consumption_potential,
88
- property_age_band: @view_model.property_age_band,
81
+ property_age_band: @view_model.respond_to?(:property_age_band) ? @view_model.property_age_band : nil,
89
82
  property_summary: @view_model.property_summary,
90
83
  recommended_improvements:
91
84
  @view_model.improvements.map do |improvement|
92
85
  improvement[:energy_performance_band_improvement] =
93
- Helper::EnergyBandCalculator.domestic(
94
- improvement[:energy_performance_rating_improvement],
95
- )
86
+ Helper::EnergyBandCalculator.domestic(improvement[:energy_performance_rating_improvement])
96
87
  improvement
97
88
  end,
98
89
  lzc_energy_sources: @view_model.lzc_energy_sources,
99
- related_party_disclosure_number:
100
- @view_model.related_party_disclosure_number,
90
+ related_party_disclosure_number: @view_model.respond_to?(:related_party_disclosure_number) ? @view_model.related_party_disclosure_number : nil,
101
91
  related_party_disclosure_text:
102
92
  @view_model.related_party_disclosure_text,
103
- tenure: @view_model.tenure,
104
- transaction_type: @view_model.transaction_type,
93
+ tenure: @view_model.respond_to?(:tenure) ? @view_model.tenure : nil,
94
+ transaction_type: @view_model.respond_to?(:transaction_type) ? @view_model.transaction_type : nil,
105
95
  total_floor_area: convert_to_big_decimal(@view_model.total_floor_area),
106
96
  total_roof_area: @view_model.respond_to?(:total_roof_area) ? @view_model.total_roof_area : nil,
107
97
  status: @view_model.status,
@@ -110,20 +100,20 @@ module Presenter
110
100
  @view_model.environmental_impact_potential,
111
101
  co2_emissions_current_per_floor_area:
112
102
  @view_model.co2_emissions_current_per_floor_area,
113
- mains_gas: @view_model.mains_gas,
103
+ mains_gas: @view_model.respond_to?(:mains_gas) ? @view_model.mains_gas : nil,
114
104
  level: @view_model.level,
115
105
  top_storey: @view_model.top_storey,
116
- storey_count: @view_model.storey_count,
106
+ storey_count: @view_model.respond_to?(:storey_count) ? @view_model.storey_count : nil,
117
107
  main_heating_controls: @view_model.main_heating_controls,
118
- multiple_glazed_proportion: @view_model.multiple_glazed_proportion,
119
- glazed_area: @view_model.glazed_area,
120
- habitable_room_count: @view_model.habitable_room_count,
121
- heated_room_count: @view_model.heated_room_count,
122
- low_energy_lighting: @view_model.low_energy_lighting,
123
- fixed_lighting_outlets_count: @view_model.fixed_lighting_outlets_count,
108
+ multiple_glazed_proportion: @view_model.respond_to?(:multiple_glazed_proportion) ? @view_model.multiple_glazed_proportion : nil,
109
+ glazed_area: @view_model.respond_to?(:glazed_area) ? @view_model.glazed_area : nil,
110
+ habitable_room_count: @view_model.respond_to?(:habitable_room_count) ? @view_model.habitable_room_count : nil,
111
+ heated_room_count: @view_model.respond_to?(:heated_room_count) ? @view_model.heated_room_count : nil,
112
+ low_energy_lighting: @view_model.respond_to?(:low_energy_lighting) ? @view_model.low_energy_lighting : nil,
113
+ fixed_lighting_outlets_count: @view_model.respond_to?(:fixed_lighting_outlets_count) ? @view_model.fixed_lighting_outlets_count : nil,
124
114
  low_energy_fixed_lighting_outlets_count:
125
- @view_model.low_energy_fixed_lighting_outlets_count,
126
- open_fireplaces_count: @view_model.open_fireplaces_count,
115
+ @view_model.respond_to?(:low_energy_fixed_lighting_outlets_count) ? @view_model.low_energy_fixed_lighting_outlets_count : nil,
116
+ open_fireplaces_count: @view_model.respond_to?(:open_fireplaces_count) ? @view_model.open_fireplaces_count : nil,
127
117
  hot_water_description: @view_model.hot_water_description,
128
118
  hot_water_energy_efficiency_rating:
129
119
  @view_model.hot_water_energy_efficiency_rating,
@@ -145,22 +135,18 @@ module Presenter
145
135
  @view_model.lighting_energy_efficiency_rating,
146
136
  lighting_environmental_efficiency_rating:
147
137
  @view_model.lighting_environmental_efficiency_rating,
148
- photovoltaic_roof_area_percent:
149
- @view_model.photovoltaic_roof_area_percent,
150
- heat_loss_corridor: @view_model.heat_loss_corridor,
138
+ photovoltaic_roof_area_percent: @view_model.respond_to?(:photovoltaic_roof_area_percent) ? @view_model.photovoltaic_roof_area_percent : nil,
139
+ heat_loss_corridor: @view_model.respond_to?(:heat_loss_corridor) ? @view_model.heat_loss_corridor : nil,
151
140
  wind_turbine_count: @view_model.wind_turbine_count,
152
- unheated_corridor_length: @view_model.unheated_corridor_length,
141
+ unheated_corridor_length: @view_model.respond_to?(:unheated_corridor_length) ? @view_model.unheated_corridor_length : nil,
153
142
  built_form:
154
143
  Helper::XmlEnumsToOutput.built_form_string(@view_model.built_form),
155
144
  mainheat_description:
156
145
  @view_model.all_main_heating_descriptions.join(", "),
157
- extensions_count:
158
- if @view_model.respond_to?(:extensions_count)
159
- @view_model.extensions_count
160
- end,
146
+ extensions_count: @view_model.respond_to?(:extensions_count) ? @view_model.extensions_count : nil,
161
147
  addendum: @view_model.addendum,
162
- gas_smart_meter_present: @view_model.gas_smart_meter_present,
163
- electricity_smart_meter_present: @view_model.electricity_smart_meter_present,
148
+ gas_smart_meter_present: @view_model.respond_to?(:gas_smart_meter_present) ? @view_model.gas_smart_meter_present : nil,
149
+ electricity_smart_meter_present: @view_model.respond_to?(:electricity_smart_meter_present) ? @view_model.electricity_smart_meter_present : nil,
164
150
  country_code: @view_model.country_code,
165
151
  }
166
152
  end
@@ -1,48 +1,24 @@
1
1
  module ViewModel
2
2
  module Cepc31
3
3
  class Cepc < ViewModel::Cepc31::CommonSchema
4
- def ac_inspection_commissioned
5
- nil
6
- end
7
-
8
- def ac_kw_rating
9
- nil
10
- end
11
-
12
- def ac_present
13
- nil
14
- end
15
-
16
- def building_emission_rate
17
- nil
18
- end
19
-
20
- def building_emission
21
- nil
22
- end
23
-
24
4
  def building_environment
25
5
  xpath(%w[Building-Environment])
26
6
  end
27
7
 
28
8
  def building_level
29
- xpath(%w[Building-Level])
9
+ xpath(%w[Building-Level])&.to_i
30
10
  end
31
11
 
32
12
  def energy_efficiency_rating
33
- xpath(%w[Asset-Rating])
13
+ xpath(%w[Asset-Rating])&.to_i
34
14
  end
35
15
 
36
16
  def epc_related_party_disclosure
37
17
  xpath(%w[Related-Party-Disclosure])
38
18
  end
39
19
 
40
- def estimated_ac_kw_rating
41
- nil
42
- end
43
-
44
20
  def existing_build_rating
45
- xpath(%w[Existing-Stock-Benchmark])
21
+ xpath(%w[Existing-Stock-Benchmark])&.to_i
46
22
  end
47
23
 
48
24
  def floor_area
@@ -54,7 +30,7 @@ module ViewModel
54
30
  end
55
31
 
56
32
  def new_build_rating
57
- xpath(%w[New-Build-Benchmark])
33
+ xpath(%w[New-Build-Benchmark])&.to_i
58
34
  end
59
35
 
60
36
  def other_fuel_description
@@ -77,22 +53,6 @@ module ViewModel
77
53
  xpath(%w[Special-Energy-Uses])
78
54
  end
79
55
 
80
- def standard_emissions
81
- nil
82
- end
83
-
84
- def target_emissions
85
- nil
86
- end
87
-
88
- def transaction_type
89
- nil
90
- end
91
-
92
- def typical_emissions
93
- nil
94
- end
95
-
96
56
  def renewable_sources
97
57
  xpath(%w[Renewable-Sources])
98
58
  end
@@ -103,7 +103,7 @@ module ViewModel
103
103
  end
104
104
 
105
105
  def building_level
106
- xpath(%w[Building-Level])
106
+ xpath(%w[Building-Level])&.to_i
107
107
  end
108
108
  end
109
109
  end
@@ -1,14 +1,6 @@
1
1
  module ViewModel
2
2
  module Cepc31
3
3
  class Dec < ViewModel::Cepc31::CommonSchema
4
- def estimated_ac_kw_rating
5
- nil
6
- end
7
-
8
- def ac_present
9
- nil
10
- end
11
-
12
4
  def main_benchmark
13
5
  xpath(%w[OR-Benchmark-Data Main-Benchmark])
14
6
  end
@@ -30,7 +22,7 @@ module ViewModel
30
22
  end
31
23
 
32
24
  def energy_efficiency_rating
33
- xpath(%w[This-Assessment Energy-Rating])
25
+ xpath(%w[This-Assessment Energy-Rating])&.to_i
34
26
  end
35
27
 
36
28
  def current_assessment_date
@@ -38,15 +30,15 @@ module ViewModel
38
30
  end
39
31
 
40
32
  def current_heating_co2
41
- xpath(%w[This-Assessment Heating-CO2])
33
+ xpath(%w[This-Assessment Heating-CO2])&.to_i
42
34
  end
43
35
 
44
36
  def current_electricity_co2
45
- xpath(%w[This-Assessment Electricity-CO2])
37
+ xpath(%w[This-Assessment Electricity-CO2])&.to_i
46
38
  end
47
39
 
48
40
  def current_renewables_co2
49
- xpath(%w[This-Assessment Renewables-CO2])
41
+ xpath(%w[This-Assessment Renewables-CO2])&.to_i
50
42
  end
51
43
 
52
44
  def year1_assessment_date
@@ -54,19 +46,19 @@ module ViewModel
54
46
  end
55
47
 
56
48
  def year1_heating_co2
57
- xpath(%w[Year1-Assessment Heating-CO2])
49
+ xpath(%w[Year1-Assessment Heating-CO2])&.to_i
58
50
  end
59
51
 
60
52
  def year1_electricity_co2
61
- xpath(%w[Year1-Assessment Electricity-CO2])
53
+ xpath(%w[Year1-Assessment Electricity-CO2])&.to_i
62
54
  end
63
55
 
64
56
  def year1_renewables_co2
65
- xpath(%w[Year1-Assessment Renewables-CO2])
57
+ xpath(%w[Year1-Assessment Renewables-CO2])&.to_i
66
58
  end
67
59
 
68
60
  def year1_energy_efficiency_rating
69
- xpath(%w[Year1-Assessment Energy-Rating])
61
+ xpath(%w[Year1-Assessment Energy-Rating])&.to_i
70
62
  end
71
63
 
72
64
  def year2_assessment_date
@@ -74,19 +66,19 @@ module ViewModel
74
66
  end
75
67
 
76
68
  def year2_heating_co2
77
- xpath(%w[Year2-Assessment Heating-CO2])
69
+ xpath(%w[Year2-Assessment Heating-CO2])&.to_i
78
70
  end
79
71
 
80
72
  def year2_electricity_co2
81
- xpath(%w[Year2-Assessment Electricity-CO2])
73
+ xpath(%w[Year2-Assessment Electricity-CO2])&.to_i
82
74
  end
83
75
 
84
76
  def year2_renewables_co2
85
- xpath(%w[Year2-Assessment Renewables-CO2])
77
+ xpath(%w[Year2-Assessment Renewables-CO2])&.to_i
86
78
  end
87
79
 
88
80
  def year2_energy_efficiency_rating
89
- xpath(%w[Year2-Assessment Energy-Rating])
81
+ xpath(%w[Year2-Assessment Energy-Rating])&.to_i
90
82
  end
91
83
 
92
84
  def main_heating_fuel
@@ -110,7 +102,7 @@ module ViewModel
110
102
  end
111
103
 
112
104
  def asset_rating
113
- xpath(%w[OR-Previous-Data Asset-Rating])
105
+ xpath(%w[OR-Previous-Data Asset-Rating])&.to_i
114
106
  end
115
107
 
116
108
  def property_type
@@ -141,10 +133,6 @@ module ViewModel
141
133
  xpath(%w[DEC-Annual-Energy-Summary Renewables-Electrical])
142
134
  end
143
135
 
144
- def dec_status
145
- nil
146
- end
147
-
148
136
  def dec_related_party_disclosure
149
137
  xpath(%w[Related-Party-Disclosure])
150
138
  end
@@ -173,14 +161,6 @@ module ViewModel
173
161
  []
174
162
  end
175
163
 
176
- def ac_kw_rating
177
- nil
178
- end
179
-
180
- def ac_inspection_commissioned
181
- nil
182
- end
183
-
184
164
  def or_energy_consumption
185
165
  @xml_doc
186
166
  .search("OR-Energy-Consumption")
@@ -191,7 +171,7 @@ module ViewModel
191
171
  consumption: xpath(%w[Consumption], node),
192
172
  start_date: xpath(%w[Start-Date], node),
193
173
  end_date: xpath(%w[End-Date], node),
194
- estimate: xpath(%w[Estimate], node),
174
+ estimate: xpath(%w[Estimate], node)&.to_i,
195
175
  name: node.name,
196
176
  }
197
177
  end
@@ -13,7 +13,7 @@ module ViewModel
13
13
  nodes.filter_map do |node|
14
14
  unless node.at("Text").content.nil? || node.at("Text").content.empty?
15
15
  {
16
- sequence: node.at("Seq-Number").content,
16
+ sequence: node.at("Seq-Number").content&.to_i,
17
17
  text: node.at("Text").content,
18
18
  }
19
19
  end
@@ -6,31 +6,23 @@ module ViewModel
6
6
  end
7
7
 
8
8
  def ac_kw_rating
9
- xpath(%w[AC-kW-Rating])
9
+ xpath(%w[AC-kW-Rating])&.to_i
10
10
  end
11
11
 
12
12
  def ac_present
13
13
  xpath(%w[AC-Present])
14
14
  end
15
15
 
16
- def building_emission_rate
17
- nil
18
- end
19
-
20
- def building_emission
21
- nil
22
- end
23
-
24
16
  def building_environment
25
17
  xpath(%w[Building-Environment])
26
18
  end
27
19
 
28
20
  def building_level
29
- xpath(%w[Building-Level])
21
+ xpath(%w[Building-Level])&.to_i
30
22
  end
31
23
 
32
24
  def energy_efficiency_rating
33
- xpath(%w[Asset-Rating])
25
+ xpath(%w[Asset-Rating])&.to_i
34
26
  end
35
27
 
36
28
  def epc_related_party_disclosure
@@ -38,11 +30,11 @@ module ViewModel
38
30
  end
39
31
 
40
32
  def estimated_ac_kw_rating
41
- xpath(%w[AC-Estimated-Output])
33
+ xpath(%w[AC-Estimated-Output])&.to_i
42
34
  end
43
35
 
44
36
  def existing_build_rating
45
- xpath(%w[Existing-Stock-Benchmark])
37
+ xpath(%w[Existing-Stock-Benchmark])&.to_i
46
38
  end
47
39
 
48
40
  def floor_area
@@ -54,7 +46,7 @@ module ViewModel
54
46
  end
55
47
 
56
48
  def new_build_rating
57
- xpath(%w[New-Build-Benchmark])
49
+ xpath(%w[New-Build-Benchmark])&.to_i
58
50
  end
59
51
 
60
52
  def other_fuel_description
@@ -77,22 +69,6 @@ module ViewModel
77
69
  xpath(%w[Special-Energy-Uses])
78
70
  end
79
71
 
80
- def standard_emissions
81
- nil
82
- end
83
-
84
- def target_emissions
85
- nil
86
- end
87
-
88
- def transaction_type
89
- nil
90
- end
91
-
92
- def typical_emissions
93
- nil
94
- end
95
-
96
72
  def renewable_sources
97
73
  xpath(%w[Renewable-Sources])
98
74
  end
@@ -103,7 +103,7 @@ module ViewModel
103
103
  end
104
104
 
105
105
  def building_level
106
- xpath(%w[Building-Level])
106
+ xpath(%w[Building-Level])&.to_i
107
107
  end
108
108
  end
109
109
  end
@@ -18,7 +18,7 @@ module ViewModel
18
18
  end
19
19
 
20
20
  def energy_efficiency_rating
21
- xpath(%w[This-Assessment Energy-Rating])
21
+ xpath(%w[This-Assessment Energy-Rating])&.to_i
22
22
  end
23
23
 
24
24
  def current_assessment_date
@@ -26,15 +26,15 @@ module ViewModel
26
26
  end
27
27
 
28
28
  def current_heating_co2
29
- xpath(%w[This-Assessment Heating-CO2])
29
+ xpath(%w[This-Assessment Heating-CO2])&.to_i
30
30
  end
31
31
 
32
32
  def current_electricity_co2
33
- xpath(%w[This-Assessment Electricity-CO2])
33
+ xpath(%w[This-Assessment Electricity-CO2])&.to_i
34
34
  end
35
35
 
36
36
  def current_renewables_co2
37
- xpath(%w[This-Assessment Renewables-CO2])
37
+ xpath(%w[This-Assessment Renewables-CO2])&.to_i
38
38
  end
39
39
 
40
40
  def year1_assessment_date
@@ -42,19 +42,19 @@ module ViewModel
42
42
  end
43
43
 
44
44
  def year1_heating_co2
45
- xpath(%w[Year1-Assessment Heating-CO2])
45
+ xpath(%w[Year1-Assessment Heating-CO2])&.to_i
46
46
  end
47
47
 
48
48
  def year1_electricity_co2
49
- xpath(%w[Year1-Assessment Electricity-CO2])
49
+ xpath(%w[Year1-Assessment Electricity-CO2])&.to_i
50
50
  end
51
51
 
52
52
  def year1_renewables_co2
53
- xpath(%w[Year1-Assessment Renewables-CO2])
53
+ xpath(%w[Year1-Assessment Renewables-CO2])&.to_i
54
54
  end
55
55
 
56
56
  def year1_energy_efficiency_rating
57
- xpath(%w[Year1-Assessment Energy-Rating])
57
+ xpath(%w[Year1-Assessment Energy-Rating])&.to_i
58
58
  end
59
59
 
60
60
  def year2_assessment_date
@@ -62,19 +62,19 @@ module ViewModel
62
62
  end
63
63
 
64
64
  def year2_heating_co2
65
- xpath(%w[Year2-Assessment Heating-CO2])
65
+ xpath(%w[Year2-Assessment Heating-CO2])&.to_i
66
66
  end
67
67
 
68
68
  def year2_electricity_co2
69
- xpath(%w[Year2-Assessment Electricity-CO2])
69
+ xpath(%w[Year2-Assessment Electricity-CO2])&.to_i
70
70
  end
71
71
 
72
72
  def year2_renewables_co2
73
- xpath(%w[Year2-Assessment Renewables-CO2])
73
+ xpath(%w[Year2-Assessment Renewables-CO2])&.to_i
74
74
  end
75
75
 
76
76
  def year2_energy_efficiency_rating
77
- xpath(%w[Year2-Assessment Energy-Rating])
77
+ xpath(%w[Year2-Assessment Energy-Rating])&.to_i
78
78
  end
79
79
 
80
80
  def main_heating_fuel
@@ -90,7 +90,7 @@ module ViewModel
90
90
  end
91
91
 
92
92
  def asset_rating
93
- xpath(%w[OR-Previous-Data Asset-Rating])
93
+ xpath(%w[OR-Previous-Data Asset-Rating])&.to_i
94
94
  end
95
95
 
96
96
  def annual_energy_use_fuel_thermal
@@ -159,7 +159,7 @@ module ViewModel
159
159
  consumption: xpath(%w[Consumption], node),
160
160
  start_date: xpath(%w[Start-Date], node),
161
161
  end_date: xpath(%w[End-Date], node),
162
- estimate: xpath(%w[Estimate], node),
162
+ estimate: xpath(%w[Estimate], node)&.to_i,
163
163
  name: node.name,
164
164
  }
165
165
  end
@@ -202,11 +202,11 @@ module ViewModel
202
202
  end
203
203
 
204
204
  def ac_kw_rating
205
- xpath(%w[AC-kW-Rating])
205
+ xpath(%w[AC-kW-Rating])&.to_i
206
206
  end
207
207
 
208
208
  def estimated_ac_kw_rating
209
- xpath(%w[AC-Estimated-Output])
209
+ xpath(%w[AC-Estimated-Output])&.to_i
210
210
  end
211
211
 
212
212
  def building_category
@@ -13,7 +13,7 @@ module ViewModel
13
13
  nodes.filter_map do |node|
14
14
  unless node.at("Text").content.nil? || node.at("Text").content.empty?
15
15
  {
16
- sequence: node.at("Seq-Number").content,
16
+ sequence: node.at("Seq-Number").content&.to_i,
17
17
  text: node.at("Text").content,
18
18
  }
19
19
  end
@@ -6,7 +6,7 @@ module ViewModel
6
6
  end
7
7
 
8
8
  def ac_kw_rating
9
- xpath(%w[AC-kW-Rating])
9
+ xpath(%w[AC-kW-Rating])&.to_i
10
10
  end
11
11
 
12
12
  def ac_present
@@ -18,7 +18,7 @@ module ViewModel
18
18
  end
19
19
 
20
20
  def building_level
21
- xpath(%w[Building-Level])
21
+ xpath(%w[Building-Level])&.to_i
22
22
  end
23
23
 
24
24
  def building_emission_rate
@@ -26,7 +26,7 @@ module ViewModel
26
26
  end
27
27
 
28
28
  def energy_efficiency_rating
29
- xpath(%w[Asset-Rating])
29
+ xpath(%w[Asset-Rating])&.to_i
30
30
  end
31
31
 
32
32
  def epc_related_party_disclosure
@@ -34,11 +34,11 @@ module ViewModel
34
34
  end
35
35
 
36
36
  def estimated_ac_kw_rating
37
- xpath(%w[AC-Estimated-Output])
37
+ xpath(%w[AC-Estimated-Output])&.to_i
38
38
  end
39
39
 
40
40
  def existing_build_rating
41
- xpath(%w[Existing-Stock-Benchmark])
41
+ xpath(%w[Existing-Stock-Benchmark])&.to_i
42
42
  end
43
43
 
44
44
  def floor_area
@@ -50,17 +50,13 @@ module ViewModel
50
50
  end
51
51
 
52
52
  def new_build_rating
53
- xpath(%w[New-Build-Benchmark])
53
+ xpath(%w[New-Build-Benchmark])&.to_i
54
54
  end
55
55
 
56
56
  def other_fuel_description
57
57
  xpath(%w[Other-Fuel-Description])
58
58
  end
59
59
 
60
- def primary_energy_use
61
- nil
62
- end
63
-
64
60
  def property_type
65
61
  xpath(%w[Property-Type])
66
62
  end
@@ -102,7 +102,7 @@ module ViewModel
102
102
  end
103
103
 
104
104
  def building_level
105
- xpath(%w[Building-Level])
105
+ xpath(%w[Building-Level])&.to_i
106
106
  end
107
107
  end
108
108
  end