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
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 037aaca9762cc3546aaf316c2dcf1e62b06c7534be072af78c459d8a8ae75d14
|
4
|
+
data.tar.gz: 8d021549356ef1996016f03aa3ecb06fc852b3b72f90d41b55690d07117a5f0b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 618baf4543be279a2cf0d15055a18fb0c1576404c318b9374739e9295f2254056e1c271499699500749d399507217d41f2ba4c9cdb3814f0ffb307a20ce9bfb9
|
7
|
+
data.tar.gz: 72529aa32e0e66dac054f7570b72d5b4acad96e26db41aa1ee1961807581411c66cb807b973085c8428bc18fc71710faf5c2c05a9ee045944cbc3ef3d5d5bfbb
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,45 +1,55 @@
|
|
1
1
|
GEM
|
2
2
|
remote: https://rubygems.org/
|
3
3
|
specs:
|
4
|
-
activesupport (7.
|
4
|
+
activesupport (7.1.3.2)
|
5
|
+
base64
|
6
|
+
bigdecimal
|
5
7
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
8
|
+
connection_pool (>= 2.2.5)
|
9
|
+
drb
|
6
10
|
i18n (>= 1.6, < 2)
|
7
11
|
minitest (>= 5.1)
|
12
|
+
mutex_m
|
8
13
|
tzinfo (~> 2.0)
|
9
14
|
ast (2.4.2)
|
10
|
-
|
11
|
-
|
12
|
-
|
15
|
+
base64 (0.2.0)
|
16
|
+
bigdecimal (3.1.6)
|
17
|
+
concurrent-ruby (1.2.3)
|
18
|
+
connection_pool (2.4.1)
|
19
|
+
diff-lcs (1.5.1)
|
20
|
+
drb (2.2.1)
|
21
|
+
i18n (1.14.4)
|
13
22
|
concurrent-ruby (~> 1.0)
|
14
|
-
json (2.
|
15
|
-
mini_portile2 (2.8.
|
16
|
-
minitest (5.
|
17
|
-
|
23
|
+
json (2.7.1)
|
24
|
+
mini_portile2 (2.8.5)
|
25
|
+
minitest (5.22.2)
|
26
|
+
mutex_m (0.2.0)
|
27
|
+
nokogiri (1.16.2)
|
18
28
|
mini_portile2 (~> 2.8.2)
|
19
29
|
racc (~> 1.4)
|
20
|
-
parallel (1.
|
21
|
-
parser (3.
|
30
|
+
parallel (1.24.0)
|
31
|
+
parser (3.3.0.5)
|
22
32
|
ast (~> 2.4.1)
|
23
33
|
racc
|
24
|
-
racc (1.7.
|
25
|
-
rack (3.0.
|
34
|
+
racc (1.7.3)
|
35
|
+
rack (3.0.9.1)
|
26
36
|
rainbow (3.1.1)
|
27
37
|
rake (13.0.6)
|
28
|
-
regexp_parser (2.
|
29
|
-
rexml (3.2.
|
30
|
-
rspec (3.
|
31
|
-
rspec-core (~> 3.
|
32
|
-
rspec-expectations (~> 3.
|
33
|
-
rspec-mocks (~> 3.
|
34
|
-
rspec-core (3.
|
35
|
-
rspec-support (~> 3.
|
36
|
-
rspec-expectations (3.
|
38
|
+
regexp_parser (2.9.0)
|
39
|
+
rexml (3.2.6)
|
40
|
+
rspec (3.13.0)
|
41
|
+
rspec-core (~> 3.13.0)
|
42
|
+
rspec-expectations (~> 3.13.0)
|
43
|
+
rspec-mocks (~> 3.13.0)
|
44
|
+
rspec-core (3.13.0)
|
45
|
+
rspec-support (~> 3.13.0)
|
46
|
+
rspec-expectations (3.13.0)
|
37
47
|
diff-lcs (>= 1.2.0, < 2.0)
|
38
|
-
rspec-support (~> 3.
|
39
|
-
rspec-mocks (3.
|
48
|
+
rspec-support (~> 3.13.0)
|
49
|
+
rspec-mocks (3.13.0)
|
40
50
|
diff-lcs (>= 1.2.0, < 2.0)
|
41
|
-
rspec-support (~> 3.
|
42
|
-
rspec-support (3.
|
51
|
+
rspec-support (~> 3.13.0)
|
52
|
+
rspec-support (3.13.1)
|
43
53
|
rubocop (1.35.0)
|
44
54
|
json (~> 2.3)
|
45
55
|
parallel (~> 1.10)
|
@@ -69,14 +79,14 @@ GEM
|
|
69
79
|
ruby-progressbar (1.13.0)
|
70
80
|
tzinfo (2.0.6)
|
71
81
|
concurrent-ruby (~> 1.0)
|
72
|
-
unicode-display_width (2.
|
73
|
-
zeitwerk (2.6.
|
82
|
+
unicode-display_width (2.5.0)
|
83
|
+
zeitwerk (2.6.13)
|
74
84
|
|
75
85
|
PLATFORMS
|
76
86
|
ruby
|
77
87
|
|
78
88
|
DEPENDENCIES
|
79
|
-
nokogiri (~> 1.
|
89
|
+
nokogiri (~> 1.16)
|
80
90
|
rake (~> 13.0.6)
|
81
91
|
rexml (~> 3.2, >= 3.2.5)
|
82
92
|
rspec (~> 3.0)
|
data/epb_view_models.gemspec
CHANGED
@@ -21,6 +21,6 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
|
22
22
|
spec.require_paths = %w[lib]
|
23
23
|
|
24
|
-
spec.add_dependency "nokogiri", "~> 1.
|
24
|
+
spec.add_dependency "nokogiri", "~> 1.16"
|
25
25
|
spec.add_dependency "zeitwerk", "~> 2.6"
|
26
26
|
end
|
data/lib/epb_view_models.rb
CHANGED
@@ -1,6 +1,10 @@
|
|
1
1
|
module Helper
|
2
2
|
class EnergyBandCalculator
|
3
3
|
def self.domestic(number)
|
4
|
+
if number.nil?
|
5
|
+
return nil
|
6
|
+
end
|
7
|
+
|
4
8
|
case number
|
5
9
|
when proc { |n| n <= 20 }
|
6
10
|
"g"
|
@@ -20,6 +24,10 @@ module Helper
|
|
20
24
|
end
|
21
25
|
|
22
26
|
def self.commercial(number)
|
27
|
+
if number.nil?
|
28
|
+
return nil
|
29
|
+
end
|
30
|
+
|
23
31
|
case number
|
24
32
|
when proc { |n| n <= -1 }
|
25
33
|
"a+"
|
@@ -18,27 +18,23 @@ module Presenter
|
|
18
18
|
def report_from_assessment_xml
|
19
19
|
{
|
20
20
|
assessment_id: Helper::RrnHelper.hash_rrn(@view_model.assessment_id),
|
21
|
-
ac_inspection_commissioned: @view_model.ac_inspection_commissioned,
|
21
|
+
ac_inspection_commissioned: @view_model.respond_to?(:ac_inspection_commissioned) ? @view_model.ac_inspection_commissioned : nil,
|
22
22
|
address1: @view_model.address_line1,
|
23
23
|
address2: @view_model.address_line2,
|
24
24
|
address3: @view_model.address_line3,
|
25
|
-
aircon_kw_rating: @view_model.ac_kw_rating,
|
25
|
+
aircon_kw_rating: @view_model.respond_to?(:ac_kw_rating) ? @view_model.ac_kw_rating : nil,
|
26
26
|
aircon_present:
|
27
|
-
if
|
28
|
-
@view_model.ac_present.upcase == "YES"
|
27
|
+
if @view_model.respond_to?(:ac_present) && @view_model.ac_present.upcase == "YES"
|
29
28
|
"Y"
|
30
29
|
else
|
31
30
|
"N"
|
32
31
|
end,
|
33
32
|
asset_rating: @view_model.energy_efficiency_rating,
|
34
|
-
asset_rating_band:
|
35
|
-
|
36
|
-
@view_model.energy_efficiency_rating.to_i,
|
37
|
-
),
|
38
|
-
building_emissions: @view_model.building_emission_rate,
|
33
|
+
asset_rating_band: Helper::EnergyBandCalculator.commercial(@view_model.energy_efficiency_rating),
|
34
|
+
building_emissions: @view_model.respond_to?(:building_emission_rate) ? @view_model.building_emission_rate : nil,
|
39
35
|
building_environment: @view_model.building_environment,
|
40
36
|
building_level: @view_model.building_level,
|
41
|
-
estimated_aircon_kw_rating: @view_model.estimated_ac_kw_rating,
|
37
|
+
estimated_aircon_kw_rating: @view_model.respond_to?(:estimated_ac_kw_rating) ? @view_model.estimated_ac_kw_rating : nil,
|
42
38
|
existing_stock_benchmark: @view_model.existing_build_rating,
|
43
39
|
floor_area: @view_model.floor_area,
|
44
40
|
inspection_date: @view_model.date_of_assessment,
|
@@ -48,18 +44,18 @@ module Presenter
|
|
48
44
|
other_fuel_desc: @view_model.other_fuel_description,
|
49
45
|
postcode: @view_model.postcode,
|
50
46
|
posttown: @view_model.town,
|
51
|
-
primary_energy_value: @view_model.primary_energy_use,
|
47
|
+
primary_energy_value: @view_model.respond_to?(:primary_energy_use) ? @view_model.primary_energy_use : nil,
|
52
48
|
property_type: @view_model.property_type,
|
53
49
|
report_type: @view_model.report_type,
|
54
50
|
special_energy_uses: @view_model.special_energy_uses,
|
55
|
-
standard_emissions: @view_model.standard_emissions,
|
56
|
-
target_emissions: @view_model.target_emissions,
|
51
|
+
standard_emissions: @view_model.respond_to?(:standard_emissions) ? @view_model.standard_emissions : nil,
|
52
|
+
target_emissions: @view_model.respond_to?(:target_emissions) ? @view_model.target_emissions : nil,
|
57
53
|
transaction_type:
|
58
54
|
Helper::XmlEnumsToOutput.cepc_transaction_type(
|
59
|
-
@view_model.transaction_type,
|
55
|
+
@view_model.respond_to?(:transaction_type) ? @view_model.transaction_type : nil,
|
60
56
|
),
|
61
57
|
type_of_assessment: TYPE_OF_ASSESSMENT,
|
62
|
-
typical_emissions: @view_model.typical_emissions,
|
58
|
+
typical_emissions: @view_model.respond_to?(:typical_emissions) ? @view_model.typical_emissions : nil,
|
63
59
|
renewable_sources: @view_model.renewable_sources,
|
64
60
|
}
|
65
61
|
end
|
@@ -30,19 +30,13 @@ module Presenter
|
|
30
30
|
floor_area: @view_model.floor_area,
|
31
31
|
building_level: @view_model.building_level,
|
32
32
|
},
|
33
|
-
building_emission_rate: @view_model.building_emission_rate,
|
34
|
-
primary_energy_use: @view_model.primary_energy_use,
|
33
|
+
building_emission_rate: @view_model.respond_to?(:building_emission_rate) ? @view_model.building_emission_rate : nil,
|
34
|
+
primary_energy_use: @view_model.respond_to?(:primary_energy_use) ? @view_model.primary_energy_use : nil,
|
35
35
|
related_rrn: @view_model.related_rrn,
|
36
36
|
new_build_rating: @view_model.new_build_rating,
|
37
|
-
new_build_band:
|
38
|
-
Helper::EnergyBandCalculator.commercial(
|
39
|
-
@view_model.new_build_rating.to_i,
|
40
|
-
),
|
37
|
+
new_build_band: Helper::EnergyBandCalculator.commercial(@view_model.new_build_rating),
|
41
38
|
existing_build_rating: @view_model.existing_build_rating,
|
42
|
-
existing_build_band:
|
43
|
-
Helper::EnergyBandCalculator.commercial(
|
44
|
-
@view_model.existing_build_rating.to_i,
|
45
|
-
),
|
39
|
+
existing_build_band: Helper::EnergyBandCalculator.commercial(@view_model.existing_build_rating),
|
46
40
|
current_energy_efficiency_rating: @view_model.energy_efficiency_rating,
|
47
41
|
energy_efficiency_rating: @view_model.energy_efficiency_rating,
|
48
42
|
assessor: {
|
@@ -58,10 +52,7 @@ module Presenter
|
|
58
52
|
},
|
59
53
|
},
|
60
54
|
related_party_disclosure: @view_model.epc_related_party_disclosure,
|
61
|
-
current_energy_efficiency_band:
|
62
|
-
Helper::EnergyBandCalculator.commercial(
|
63
|
-
@view_model.energy_efficiency_rating.to_i,
|
64
|
-
),
|
55
|
+
current_energy_efficiency_band: Helper::EnergyBandCalculator.commercial(@view_model.energy_efficiency_rating),
|
65
56
|
property_type: @view_model.property_type,
|
66
57
|
building_complexity: @view_model.building_level,
|
67
58
|
}
|
data/lib/presenter/dec/report.rb
CHANGED
@@ -24,10 +24,7 @@ module Presenter
|
|
24
24
|
current_operational_rating: @view_model.energy_efficiency_rating,
|
25
25
|
yr1_operational_rating: @view_model.year1_energy_efficiency_rating,
|
26
26
|
yr2_operational_rating: @view_model.year2_energy_efficiency_rating,
|
27
|
-
operational_rating_band:
|
28
|
-
Helper::EnergyBandCalculator.commercial(
|
29
|
-
@view_model.energy_efficiency_rating.to_i,
|
30
|
-
).upcase,
|
27
|
+
operational_rating_band: Helper::EnergyBandCalculator.commercial(@view_model.energy_efficiency_rating).upcase,
|
31
28
|
electric_co2: @view_model.current_electricity_co2,
|
32
29
|
heating_co2: @view_model.current_heating_co2,
|
33
30
|
renewables_co2: @view_model.current_renewables_co2,
|
@@ -57,15 +54,14 @@ module Presenter
|
|
57
54
|
yr2_renewables_co2: @view_model.year2_renewables_co2,
|
58
55
|
# open data request for return value to be Y OR N
|
59
56
|
aircon_present:
|
60
|
-
if
|
61
|
-
@view_model.ac_present.upcase == "YES"
|
57
|
+
if @view_model.respond_to?(:ac_present) && @view_model.ac_present.upcase == "YES"
|
62
58
|
"Y"
|
63
59
|
else
|
64
60
|
"N"
|
65
61
|
end,
|
66
|
-
aircon_kw_rating: @view_model.ac_kw_rating,
|
67
|
-
estimated_aircon_kw_rating: @view_model.estimated_ac_kw_rating,
|
68
|
-
ac_inspection_commissioned: @view_model.ac_inspection_commissioned,
|
62
|
+
aircon_kw_rating: @view_model.respond_to?(:ac_kw_rating) ? @view_model.ac_kw_rating : nil,
|
63
|
+
estimated_aircon_kw_rating: @view_model.respond_to?(:estimated_ac_kw_rating) ? @view_model.estimated_ac_kw_rating : nil,
|
64
|
+
ac_inspection_commissioned: @view_model.respond_to?(:ac_inspection_commissioned) ? @view_model.ac_inspection_commissioned : nil,
|
69
65
|
building_environment: @view_model.building_environment,
|
70
66
|
building_category: @view_model.building_category,
|
71
67
|
report_type: @view_model.report_type,
|
@@ -29,10 +29,7 @@ module Presenter
|
|
29
29
|
current_assessment: {
|
30
30
|
date: @view_model.current_assessment_date,
|
31
31
|
energy_efficiency_rating: @view_model.energy_efficiency_rating,
|
32
|
-
energy_efficiency_band:
|
33
|
-
Helper::EnergyBandCalculator.commercial(
|
34
|
-
@view_model.energy_efficiency_rating.to_i,
|
35
|
-
),
|
32
|
+
energy_efficiency_band: Helper::EnergyBandCalculator.commercial(@view_model.energy_efficiency_rating),
|
36
33
|
heating_co2: @view_model.current_heating_co2,
|
37
34
|
electricity_co2: @view_model.current_electricity_co2,
|
38
35
|
renewables_co2: @view_model.current_renewables_co2,
|
@@ -40,10 +37,7 @@ module Presenter
|
|
40
37
|
year1_assessment: {
|
41
38
|
date: @view_model.year1_assessment_date,
|
42
39
|
energy_efficiency_rating: @view_model.year1_energy_efficiency_rating,
|
43
|
-
energy_efficiency_band:
|
44
|
-
Helper::EnergyBandCalculator.commercial(
|
45
|
-
@view_model.year1_energy_efficiency_rating.to_i,
|
46
|
-
),
|
40
|
+
energy_efficiency_band: Helper::EnergyBandCalculator.commercial(@view_model.year1_energy_efficiency_rating),
|
47
41
|
heating_co2: @view_model.year1_heating_co2,
|
48
42
|
electricity_co2: @view_model.year1_electricity_co2,
|
49
43
|
renewables_co2: @view_model.year1_renewables_co2,
|
@@ -52,9 +46,7 @@ module Presenter
|
|
52
46
|
date: @view_model.year2_assessment_date,
|
53
47
|
energy_efficiency_rating: @view_model.year2_energy_efficiency_rating,
|
54
48
|
energy_efficiency_band:
|
55
|
-
Helper::EnergyBandCalculator.commercial(
|
56
|
-
@view_model.year2_energy_efficiency_rating.to_i,
|
57
|
-
),
|
49
|
+
Helper::EnergyBandCalculator.commercial(@view_model.year2_energy_efficiency_rating),
|
58
50
|
heating_co2: @view_model.year2_heating_co2,
|
59
51
|
electricity_co2: @view_model.year2_electricity_co2,
|
60
52
|
renewables_co2: @view_model.year2_renewables_co2,
|
@@ -20,7 +20,7 @@ module Presenter
|
|
20
20
|
benchmarks: @view_model.benchmarks,
|
21
21
|
energy_consumption: @view_model.or_energy_consumption,
|
22
22
|
annual_energy_summary: @view_model.annual_energy_summary,
|
23
|
-
dec_status: @view_model.dec_status,
|
23
|
+
dec_status: @view_model.respond_to?(:dec_status) ? @view_model.dec_status : nil,
|
24
24
|
current_assessment_date: @view_model.current_assessment_date,
|
25
25
|
energy_efficiency_rating: @view_model.energy_efficiency_rating,
|
26
26
|
current_electricity_co2: @view_model.current_electricity_co2,
|
@@ -31,7 +31,7 @@ module Presenter
|
|
31
31
|
|
32
32
|
xml = ERB.new(get_template).result_with_hash dec_data
|
33
33
|
|
34
|
-
if @view_model.dec_status.nil?
|
34
|
+
if !@view_model.respond_to?(:dec_status) || @view_model.dec_status.nil?
|
35
35
|
doc = Nokogiri.XML(xml)
|
36
36
|
doc.at("DEC-Status").remove
|
37
37
|
xml = doc.to_xml
|
@@ -1,3 +1,4 @@
|
|
1
|
+
require "active_support"
|
1
2
|
require "active_support/core_ext/time/conversions"
|
2
3
|
|
3
4
|
module Presenter::Export
|
@@ -41,10 +42,9 @@ module Presenter::Export
|
|
41
42
|
@view_model.current_space_heating_demand&.to_i,
|
42
43
|
current_water_heating_demand:
|
43
44
|
@view_model.current_water_heating_demand&.to_i,
|
44
|
-
impact_of_cavity_insulation: @view_model.impact_of_cavity_insulation,
|
45
|
-
impact_of_loft_insulation: @view_model.impact_of_loft_insulation,
|
46
|
-
impact_of_solid_wall_insulation:
|
47
|
-
@view_model.impact_of_solid_wall_insulation,
|
45
|
+
impact_of_cavity_insulation: @view_model.respond_to?(:impact_of_cavity_insulation) ? @view_model.impact_of_cavity_insulation : nil,
|
46
|
+
impact_of_loft_insulation: @view_model.respond_to?(:impact_of_loft_insulation) ? @view_model.impact_of_loft_insulation : nil,
|
47
|
+
impact_of_solid_wall_insulation: @view_model.respond_to?(:impact_of_solid_wall_insulation) ? @view_model.impact_of_solid_wall_insulation : nil,
|
48
48
|
}
|
49
49
|
end
|
50
50
|
|
@@ -6,7 +6,7 @@ module Presenter::Export
|
|
6
6
|
view[:type_of_assessment] = @wrapper.type.to_s
|
7
7
|
view[:address] = address
|
8
8
|
view[:assessor] = assessor
|
9
|
-
view[:building_emission_rate] = @view_model.building_emission_rate
|
9
|
+
view[:building_emission_rate] = @view_model.respond_to?(:building_emission_rate) ? @view_model.building_emission_rate : nil
|
10
10
|
view[:date_of_expiry] = @view_model.date_of_expiry
|
11
11
|
view[:report_type] = @view_model.report_type
|
12
12
|
view[:date_of_assessment] = @view_model.date_of_assessment
|
@@ -17,7 +17,7 @@ module Presenter::Export
|
|
17
17
|
floor_area: @view_model.floor_area,
|
18
18
|
building_level: @view_model.building_level,
|
19
19
|
}
|
20
|
-
view[:primary_energy_use] = @view_model.primary_energy_use
|
20
|
+
view[:primary_energy_use] = @view_model.respond_to?(:primary_energy_use) ? @view_model.primary_energy_use : nil
|
21
21
|
view[:related_rrn] = @view_model.related_rrn
|
22
22
|
view[:new_build_rating] = @view_model.new_build_rating
|
23
23
|
view[:related_party_disclosure] = @view_model.epc_related_party_disclosure
|
@@ -27,43 +27,32 @@ module Presenter::Export
|
|
27
27
|
view[:current_energy_efficiency_rating] =
|
28
28
|
@view_model.energy_efficiency_rating
|
29
29
|
view[:current_energy_efficiency_band] =
|
30
|
-
Helper::EnergyBandCalculator.commercial(
|
31
|
-
@view_model.energy_efficiency_rating.to_i,
|
32
|
-
)
|
30
|
+
Helper::EnergyBandCalculator.commercial(@view_model.energy_efficiency_rating)
|
33
31
|
view[:new_build_band] =
|
34
|
-
Helper::EnergyBandCalculator.commercial(
|
35
|
-
@view_model.new_build_rating.to_i,
|
36
|
-
)
|
32
|
+
Helper::EnergyBandCalculator.commercial(@view_model.new_build_rating)
|
37
33
|
view[:existing_build_rating] = @view_model.existing_build_rating
|
38
34
|
view[:existing_build_band] =
|
39
|
-
Helper::EnergyBandCalculator.commercial(
|
40
|
-
|
41
|
-
|
42
|
-
view[:
|
43
|
-
view[:aircon_kw_rating] = @view_model.ac_kw_rating
|
44
|
-
view[:aircon_present] = @view_model.ac_present unless @view_model
|
45
|
-
.ac_present.nil?
|
35
|
+
Helper::EnergyBandCalculator.commercial(@view_model.existing_build_rating)
|
36
|
+
view[:ac_inspection_commissioned] = @view_model.respond_to?(:ac_inspection_commissioned) ? @view_model.ac_inspection_commissioned : nil
|
37
|
+
view[:aircon_kw_rating] = @view_model.respond_to?(:ac_kw_rating) ? @view_model.ac_kw_rating : nil
|
38
|
+
view[:aircon_present] = @view_model.ac_present if @view_model.respond_to?(:ac_present)
|
46
39
|
view[:asset_rating] = @view_model.energy_efficiency_rating
|
47
40
|
view[:asset_rating_band] =
|
48
|
-
Helper::EnergyBandCalculator.commercial(
|
49
|
-
@view_model.energy_efficiency_rating.to_i,
|
50
|
-
)
|
41
|
+
Helper::EnergyBandCalculator.commercial(@view_model.energy_efficiency_rating)
|
51
42
|
view[:building_environment] = @view_model.building_environment
|
52
43
|
view[:building_level] = @view_model.building_level
|
53
44
|
view[:building_reference_number] = @view_model.address_id
|
54
|
-
view[:estimated_aircon_kw_rating] = @view_model.estimated_ac_kw_rating
|
55
|
-
|
56
|
-
view[:
|
57
|
-
@view_model.existing_build_rating,
|
58
|
-
view[:floor_area] = @view_model.floor_area
|
45
|
+
view[:estimated_aircon_kw_rating] = @view_model.respond_to?(:estimated_ac_kw_rating) ? @view_model.estimated_ac_kw_rating : nil
|
46
|
+
view[:existing_stock_benchmark] = @view_model.existing_build_rating
|
47
|
+
view[:floor_area] = @view_model.floor_area
|
59
48
|
view[:main_heating_fuel] = @view_model.main_heating_fuel
|
60
49
|
view[:other_fuel_description] = @view_model.other_fuel_description
|
61
50
|
view[:special_energy_uses] = @view_model.special_energy_uses
|
62
|
-
view[:standard_emissions] = @view_model.standard_emissions
|
63
|
-
view[:target_emissions] = @view_model.target_emissions
|
51
|
+
view[:standard_emissions] = @view_model.respond_to?(:standard_emissions) ? @view_model.standard_emissions : nil
|
52
|
+
view[:target_emissions] = @view_model.respond_to?(:target_emissions) ? @view_model.target_emissions : nil
|
64
53
|
view[:transaction_type] =
|
65
|
-
enum_value(:transaction_type, @view_model.transaction_type)
|
66
|
-
view[:typical_emissions] = @view_model.typical_emissions
|
54
|
+
enum_value(:transaction_type, @view_model.respond_to?(:transaction_type) ? @view_model.transaction_type : nil)
|
55
|
+
view[:typical_emissions] = @view_model.respond_to?(:typical_emissions) ? @view_model.typical_emissions : nil
|
67
56
|
view[:renewable_sources] = @view_model.renewable_sources
|
68
57
|
view[:metadata] = metadata
|
69
58
|
|
@@ -20,34 +20,31 @@ module Presenter::Export
|
|
20
20
|
view[:current_carbon_emission] = @view_model.current_carbon_emission.to_f
|
21
21
|
view[:current_energy_efficiency_band] =
|
22
22
|
Helper::EnergyBandCalculator.domestic(@view_model.current_energy_rating)
|
23
|
-
view[:current_energy_efficiency_rating] =
|
24
|
-
@view_model.current_energy_rating
|
23
|
+
view[:current_energy_efficiency_rating] = @view_model.current_energy_rating
|
25
24
|
view[:date_of_assessment] = @view_model.date_of_assessment
|
26
25
|
view[:date_of_expiry] = @view_model.date_of_expiry
|
27
26
|
view[:date_of_registration] = @view_model.date_of_registration
|
28
27
|
view[:dwelling_type] = @view_model.dwelling_type
|
29
28
|
view[:energy_consumption_potential] =
|
30
29
|
@view_model.energy_consumption_potential.to_i
|
31
|
-
view[:environmental_impact_current] =
|
32
|
-
|
33
|
-
|
34
|
-
@view_model.
|
35
|
-
unless @view_model.extensions_count.nil?
|
36
|
-
view[:extensions_count] = @view_model.extensions_count.to_i
|
30
|
+
view[:environmental_impact_current] = @view_model.environmental_impact_current
|
31
|
+
view[:environmental_impact_potential] = @view_model.environmental_impact_potential
|
32
|
+
if @view_model.respond_to?(:extensions_count) && !@view_model.extensions_count.nil?
|
33
|
+
view[:extensions_count] = @view_model.extensions_count
|
37
34
|
end
|
38
35
|
view[:fixed_lighting_outlets_count] =
|
39
|
-
@view_model.fixed_lighting_outlets_count.
|
40
|
-
view[:glazed_area] = @view_model.glazed_area.to_i
|
36
|
+
@view_model.respond_to?(:fixed_lighting_outlets_count) ? @view_model.fixed_lighting_outlets_count : nil
|
37
|
+
view[:glazed_area] = @view_model.glazed_area.to_i if @view_model.respond_to?(:glazed_area) && !@view_model
|
41
38
|
.glazed_area.nil?
|
42
|
-
|
43
|
-
view[:habitable_room_count] = @view_model.habitable_room_count
|
39
|
+
if @view_model.respond_to?(:habitable_room_count) && !@view_model.habitable_room_count.nil?
|
40
|
+
view[:habitable_room_count] = @view_model.habitable_room_count
|
44
41
|
end
|
45
42
|
view[:heat_demand] = heat_demand
|
46
|
-
|
43
|
+
if @view_model.respond_to?(:heat_loss_corridor) && !@view_model.heat_loss_corridor.nil?
|
47
44
|
view[:heat_loss_corridor] = @view_model.heat_loss_corridor.to_i
|
48
45
|
end
|
49
|
-
|
50
|
-
view[:heated_room_count] = @view_model.heated_room_count
|
46
|
+
if @view_model.respond_to?(:heated_room_count) && !@view_model.heated_room_count.nil?
|
47
|
+
view[:heated_room_count] = @view_model.heated_room_count
|
51
48
|
end
|
52
49
|
view[:heating_cost_current] = @view_model.heating_cost_current.to_f
|
53
50
|
view[:heating_cost_potential] = @view_model.heating_cost_potential.to_f
|
@@ -68,43 +65,38 @@ module Presenter::Export
|
|
68
65
|
view[:lighting_environmental_efficiency_rating] =
|
69
66
|
@view_model.lighting_environmental_efficiency_rating.to_i
|
70
67
|
view[:low_energy_fixed_lighting_outlets_count] =
|
71
|
-
@view_model.low_energy_fixed_lighting_outlets_count
|
72
|
-
view[:low_energy_lighting] = @view_model.low_energy_lighting
|
68
|
+
@view_model.respond_to?(:low_energy_fixed_lighting_outlets_count) ? @view_model.low_energy_fixed_lighting_outlets_count : nil
|
69
|
+
view[:low_energy_lighting] = @view_model.respond_to?(:low_energy_lighting) ? @view_model.low_energy_lighting&.to_i : nil
|
73
70
|
view[:main_fuel_type] = @view_model.main_fuel_type
|
74
71
|
view[:main_heating_controls_descriptions] =
|
75
72
|
@view_model.all_main_heating_controls_descriptions
|
76
73
|
view[:main_heating_descriptions] =
|
77
74
|
@view_model.all_main_heating_descriptions
|
78
|
-
view[:mains_gas] = @view_model.mains_gas
|
75
|
+
view[:mains_gas] = @view_model.mains_gas if @view_model.respond_to?(:mains_gas) && !@view_model.mains_gas.nil?
|
79
76
|
view[:multiple_glazed_proportion] =
|
80
|
-
@view_model.multiple_glazed_proportion.to_i
|
81
|
-
view[:open_fireplaces_count] = @view_model.open_fireplaces_count.
|
82
|
-
|
77
|
+
@view_model.respond_to?(:multiple_glazed_proportion) ? @view_model.multiple_glazed_proportion.to_i : nil
|
78
|
+
view[:open_fireplaces_count] = @view_model.respond_to?(:open_fireplaces_count) ? @view_model.open_fireplaces_count : nil
|
79
|
+
if @view_model.respond_to?(:photovoltaic_roof_area_percent) && !@view_model.photovoltaic_roof_area_percent.nil?
|
83
80
|
view[:photovoltaic_roof_area_percent] =
|
84
81
|
@view_model.photovoltaic_roof_area_percent.to_i
|
85
82
|
end
|
86
83
|
view[:potential_carbon_emission] =
|
87
84
|
@view_model.potential_carbon_emission.to_f
|
88
85
|
view[:potential_energy_efficiency_band] =
|
89
|
-
Helper::EnergyBandCalculator.domestic(
|
90
|
-
|
91
|
-
|
92
|
-
view[:
|
93
|
-
@view_model.potential_energy_rating
|
94
|
-
view[:primary_energy_use] = @view_model.primary_energy_use.to_i
|
95
|
-
view[:property_age_band] = @view_model.property_age_band
|
86
|
+
Helper::EnergyBandCalculator.domestic(@view_model.potential_energy_rating)
|
87
|
+
view[:potential_energy_efficiency_rating] = @view_model.potential_energy_rating
|
88
|
+
view[:primary_energy_use] = @view_model.respond_to?(:primary_energy_use) ? @view_model.primary_energy_use.to_i : nil
|
89
|
+
view[:property_age_band] = @view_model.respond_to?(:property_age_band) ? @view_model.property_age_band : nil
|
96
90
|
view[:property_summary] = @view_model.property_summary
|
97
91
|
view[:property_type] =
|
98
92
|
enum_value(:property_type, @view_model.property_type)
|
99
93
|
view[:recommended_improvements] =
|
100
94
|
@view_model.improvements.map do |improvement|
|
101
95
|
improvement[:energy_performance_band_improvement] =
|
102
|
-
Helper::EnergyBandCalculator.domestic(
|
103
|
-
improvement[:energy_performance_rating_improvement],
|
104
|
-
)
|
96
|
+
Helper::EnergyBandCalculator.domestic(improvement[:energy_performance_rating_improvement])
|
105
97
|
improvement
|
106
98
|
end
|
107
|
-
|
99
|
+
if @view_model.respond_to?(:related_party_disclosure_number) && !@view_model.related_party_disclosure_number.nil?
|
108
100
|
view[:related_party_disclosure_number] =
|
109
101
|
@view_model.related_party_disclosure_number
|
110
102
|
end
|
@@ -119,19 +111,18 @@ module Presenter::Export
|
|
119
111
|
view[:secondary_heating_environmental_efficiency_rating] =
|
120
112
|
@view_model.secondary_heating_environmental_efficiency_rating.to_i
|
121
113
|
view[:status] = @view_model.status
|
122
|
-
view[:storey_count] = @view_model.storey_count
|
114
|
+
view[:storey_count] = @view_model.storey_count if @view_model.respond_to?(:storey_count) && !@view_model
|
123
115
|
.storey_count.nil?
|
124
|
-
view[:tenure] = enum_value(:tenure, @view_model.tenure)
|
116
|
+
view[:tenure] = enum_value(:tenure, @view_model.respond_to?(:tenure) ? @view_model.tenure : nil)
|
125
117
|
view[:top_storey] = @view_model.top_storey
|
126
118
|
view[:total_floor_area] = @view_model.total_floor_area.to_f
|
127
119
|
view[:transaction_type] =
|
128
|
-
enum_value(:transaction_type, @view_model.transaction_type)
|
120
|
+
enum_value(:transaction_type, @view_model.respond_to?(:transaction_type) ? @view_model.transaction_type : nil)
|
129
121
|
view[:type_of_assessment] = @wrapper.type.to_s
|
130
|
-
|
131
|
-
view[:unheated_corridor_length] =
|
132
|
-
@view_model.unheated_corridor_length.to_i
|
122
|
+
if @view_model.respond_to?(:unheated_corridor_length) && !@view_model.unheated_corridor_length.nil?
|
123
|
+
view[:unheated_corridor_length] = @view_model.unheated_corridor_length.to_i
|
133
124
|
end
|
134
|
-
view[:wind_turbine_count] = @view_model.wind_turbine_count
|
125
|
+
view[:wind_turbine_count] = @view_model.wind_turbine_count
|
135
126
|
view[:window_description] = @view_model.window_description
|
136
127
|
view[:window_energy_efficiency_rating] =
|
137
128
|
@view_model.window_energy_efficiency_rating.to_i
|
@@ -36,15 +36,13 @@ module Presenter
|
|
36
36
|
@view_model.report_type),
|
37
37
|
has_hot_water_cylinder: @view_model.has_hot_water_cylinder,
|
38
38
|
total_floor_area: @view_model.total_floor_area.to_s,
|
39
|
-
has_mains_gas: @view_model.mains_gas,
|
39
|
+
has_mains_gas: @view_model.respond_to?(:mains_gas) ? @view_model.mains_gas : nil,
|
40
40
|
current_energy_efficiency_rating: @view_model.current_energy_rating,
|
41
41
|
potential_energy_efficiency_rating: @view_model.potential_energy_rating,
|
42
42
|
type_of_property: Helper::XmlEnumsToOutput.property_type(@view_model.property_type),
|
43
43
|
recommended_improvements: @view_model.improvements.map do |improvement|
|
44
44
|
improvement[:energy_performance_band_improvement] =
|
45
|
-
Helper::EnergyBandCalculator.domestic(
|
46
|
-
improvement[:energy_performance_rating_improvement],
|
47
|
-
)
|
45
|
+
Helper::EnergyBandCalculator.domestic(improvement[:energy_performance_rating_improvement])
|
48
46
|
improvement
|
49
47
|
end,
|
50
48
|
}
|