epb_view_models 1.0.0 → 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (115) hide show
  1. checksums.yaml +4 -4
  2. data/.buildspec.yml +13 -0
  3. data/.gitignore +5 -0
  4. data/.ruby-version +1 -0
  5. data/Gemfile.lock +22 -17
  6. data/Makefile +1 -1
  7. data/api/schemas/xml/RdSAP-Schema-NI-19.0/RdSAP/Templates/EPC-CollectedData.xsd +13 -12
  8. data/lib/epb_view_models.rb +1 -1
  9. data/lib/helper/ac_report_extraction.rb +26 -28
  10. data/lib/helper/energy_band_calculator.rb +1 -1
  11. data/lib/helper/xml_enums_to_output.rb +286 -126
  12. data/lib/presenter/cepc/report.rb +5 -2
  13. data/lib/presenter/dec/report.rb +5 -2
  14. data/lib/presenter/export/domestic.rb +1 -1
  15. data/lib/presenter/rd_sap/report.rb +213 -5
  16. data/lib/presenter/sap/report.rb +213 -4
  17. data/lib/presenter/sap/summary.rb +1 -1
  18. data/lib/view_model/cepc50/cepc.rb +0 -4
  19. data/lib/view_model/cepc60/cepc.rb +0 -4
  20. data/lib/view_model/cepc71/dec.rb +0 -4
  21. data/lib/view_model/cepc_ni800/ac_report.rb +3 -2
  22. data/lib/view_model/domestic_epc_view_model.rb +4 -0
  23. data/lib/view_model/rd_sap_schema_170/common_schema.rb +16 -0
  24. data/lib/view_model/rd_sap_schema_171/common_schema.rb +16 -0
  25. data/lib/view_model/rd_sap_schema_180/common_schema.rb +16 -0
  26. data/lib/view_model/rd_sap_schema_190/common_schema.rb +16 -0
  27. data/lib/view_model/rd_sap_schema_200/common_schema.rb +16 -8
  28. data/lib/view_model/rd_sap_schema_ni_173/common_schema.rb +16 -0
  29. data/lib/view_model/rd_sap_schema_ni_174/common_schema.rb +16 -0
  30. data/lib/view_model/rd_sap_schema_ni_180/common_schema.rb +16 -0
  31. data/lib/view_model/rd_sap_schema_ni_190/common_schema.rb +16 -0
  32. data/lib/view_model/rd_sap_schema_ni_200/common_schema.rb +16 -4
  33. data/lib/view_model/rd_sap_wrapper.rb +4 -0
  34. data/lib/view_model/sap_schema_102/common_schema.rb +33 -10
  35. data/lib/view_model/sap_schema_102/rdsap.rb +8 -0
  36. data/lib/view_model/sap_schema_110/common_schema.rb +1 -10
  37. data/lib/view_model/sap_schema_110/rdsap.rb +36 -0
  38. data/lib/view_model/sap_schema_110/sap.rb +36 -0
  39. data/lib/view_model/sap_schema_112/common_schema.rb +1 -10
  40. data/lib/view_model/sap_schema_112/rdsap.rb +36 -0
  41. data/lib/view_model/sap_schema_112/sap.rb +36 -0
  42. data/lib/view_model/sap_schema_120/common_schema.rb +0 -12
  43. data/lib/view_model/sap_schema_120/rdsap.rb +36 -0
  44. data/lib/view_model/sap_schema_120/sap.rb +36 -0
  45. data/lib/view_model/sap_schema_130/common_schema.rb +0 -4
  46. data/lib/view_model/sap_schema_130/rdsap.rb +36 -0
  47. data/lib/view_model/sap_schema_130/sap.rb +36 -0
  48. data/lib/view_model/sap_schema_140/common_schema.rb +0 -8
  49. data/lib/view_model/sap_schema_140/rdsap.rb +36 -0
  50. data/lib/view_model/sap_schema_140/sap.rb +36 -0
  51. data/lib/view_model/sap_schema_141/common_schema.rb +0 -4
  52. data/lib/view_model/sap_schema_141/rdsap.rb +36 -0
  53. data/lib/view_model/sap_schema_141/sap.rb +36 -0
  54. data/lib/view_model/sap_schema_142/common_schema.rb +0 -4
  55. data/lib/view_model/sap_schema_142/rdsap.rb +36 -0
  56. data/lib/view_model/sap_schema_142/sap.rb +36 -0
  57. data/lib/view_model/sap_schema_150/common_schema.rb +0 -4
  58. data/lib/view_model/sap_schema_150/rdsap.rb +36 -0
  59. data/lib/view_model/sap_schema_150/sap.rb +36 -0
  60. data/lib/view_model/sap_schema_160/common_schema.rb +0 -4
  61. data/lib/view_model/sap_schema_160/rdsap.rb +36 -0
  62. data/lib/view_model/sap_schema_160/sap.rb +36 -0
  63. data/lib/view_model/sap_schema_161/common_schema.rb +0 -4
  64. data/lib/view_model/sap_schema_161/rdsap.rb +36 -0
  65. data/lib/view_model/sap_schema_161/sap.rb +36 -0
  66. data/lib/view_model/sap_schema_162/common_schema.rb +0 -4
  67. data/lib/view_model/sap_schema_162/rdsap.rb +36 -0
  68. data/lib/view_model/sap_schema_162/sap.rb +36 -0
  69. data/lib/view_model/sap_schema_163/common_schema.rb +0 -4
  70. data/lib/view_model/sap_schema_163/rdsap.rb +36 -0
  71. data/lib/view_model/sap_schema_163/sap.rb +36 -0
  72. data/lib/view_model/sap_schema_170/common_schema.rb +32 -0
  73. data/lib/view_model/sap_schema_171/common_schema.rb +32 -4
  74. data/lib/view_model/sap_schema_1800/common_schema.rb +32 -8
  75. data/lib/view_model/sap_schema_ni_112/common_schema.rb +1 -5
  76. data/lib/view_model/sap_schema_ni_112/rdsap.rb +45 -4
  77. data/lib/view_model/sap_schema_ni_112/sap.rb +35 -0
  78. data/lib/view_model/sap_schema_ni_120/common_schema.rb +1 -5
  79. data/lib/view_model/sap_schema_ni_120/rdsap.rb +40 -0
  80. data/lib/view_model/sap_schema_ni_120/sap.rb +36 -0
  81. data/lib/view_model/sap_schema_ni_130/common_schema.rb +1 -5
  82. data/lib/view_model/sap_schema_ni_130/rdsap.rb +40 -0
  83. data/lib/view_model/sap_schema_ni_130/sap.rb +36 -0
  84. data/lib/view_model/sap_schema_ni_140/common_schema.rb +1 -5
  85. data/lib/view_model/sap_schema_ni_140/rdsap.rb +40 -0
  86. data/lib/view_model/sap_schema_ni_140/sap.rb +36 -0
  87. data/lib/view_model/sap_schema_ni_141/common_schema.rb +1 -5
  88. data/lib/view_model/sap_schema_ni_141/rdsap.rb +40 -0
  89. data/lib/view_model/sap_schema_ni_141/sap.rb +36 -0
  90. data/lib/view_model/sap_schema_ni_142/common_schema.rb +1 -5
  91. data/lib/view_model/sap_schema_ni_142/rdsap.rb +40 -0
  92. data/lib/view_model/sap_schema_ni_142/sap.rb +36 -0
  93. data/lib/view_model/sap_schema_ni_150/common_schema.rb +1 -5
  94. data/lib/view_model/sap_schema_ni_150/rdsap.rb +40 -0
  95. data/lib/view_model/sap_schema_ni_150/sap.rb +36 -0
  96. data/lib/view_model/sap_schema_ni_160/common_schema.rb +2 -6
  97. data/lib/view_model/sap_schema_ni_160/rdsap.rb +36 -0
  98. data/lib/view_model/sap_schema_ni_160/sap.rb +36 -0
  99. data/lib/view_model/sap_schema_ni_161/common_schema.rb +1 -5
  100. data/lib/view_model/sap_schema_ni_161/rdsap.rb +36 -0
  101. data/lib/view_model/sap_schema_ni_161/sap.rb +36 -0
  102. data/lib/view_model/sap_schema_ni_170/common_schema.rb +0 -4
  103. data/lib/view_model/sap_schema_ni_170/rdsap.rb +36 -0
  104. data/lib/view_model/sap_schema_ni_170/sap.rb +36 -0
  105. data/lib/view_model/sap_schema_ni_171/common_schema.rb +0 -4
  106. data/lib/view_model/sap_schema_ni_171/rdsap.rb +36 -0
  107. data/lib/view_model/sap_schema_ni_171/sap.rb +36 -0
  108. data/lib/view_model/sap_schema_ni_172/common_schema.rb +0 -4
  109. data/lib/view_model/sap_schema_ni_172/rdsap.rb +44 -0
  110. data/lib/view_model/sap_schema_ni_172/sap.rb +36 -0
  111. data/lib/view_model/sap_schema_ni_173/common_schema.rb +32 -0
  112. data/lib/view_model/sap_schema_ni_174/common_schema.rb +32 -0
  113. data/lib/view_model/sap_schema_ni_1800/common_schema.rb +32 -22
  114. data/lib/view_model/sap_wrapper.rb +4 -0
  115. metadata +4 -2
@@ -219,10 +219,6 @@ module ViewModel
219
219
  xpath(%w[Secondary-Fuel-Type])
220
220
  end
221
221
 
222
- def water_heating_fuel
223
- xpath(%w[Water-Fuel-Type])
224
- end
225
-
226
222
  def type_of_assessment
227
223
  case xpath(%w[Report-Type]).to_i
228
224
  when 1
@@ -272,7 +268,7 @@ module ViewModel
272
268
  end
273
269
 
274
270
  def glazed_area
275
- nil
271
+ xpath(%w[Glazed-Area])
276
272
  end
277
273
 
278
274
  def habitable_room_count
@@ -64,6 +64,42 @@ module ViewModel
64
64
  def energy_tariff
65
65
  xpath(%w[Meter-Type])
66
66
  end
67
+
68
+ def cylinder_insul_thickness
69
+ xpath(%w[Cylinder-Insulation-Thickness])
70
+ end
71
+
72
+ def cylinder_insulation_type
73
+ xpath(%w[Cylinder-Insulation-Type])
74
+ end
75
+
76
+ def cylinder_size
77
+ xpath(%w[Cylinder-Size])
78
+ end
79
+
80
+ def has_cylinder_thermostat
81
+ xpath(%w[Cylinder-Thermostat])
82
+ end
83
+
84
+ def mech_vent_sys_index_number
85
+ nil
86
+ end
87
+
88
+ def mechanical_vent_data_source
89
+ nil
90
+ end
91
+
92
+ def thermal_store
93
+ nil
94
+ end
95
+
96
+ def ventilation_type
97
+ nil
98
+ end
99
+
100
+ def water_heating_fuel
101
+ xpath(%w[Water-Heating-Fuel])
102
+ end
67
103
  end
68
104
  end
69
105
  end
@@ -17,6 +17,42 @@ module ViewModel
17
17
  def construction_year
18
18
  xpath(%w[Construction-Year])
19
19
  end
20
+
21
+ def cylinder_insul_thickness
22
+ xpath(%w[Hot-Water-Store-Insulation-Thickness])
23
+ end
24
+
25
+ def cylinder_insulation_type
26
+ xpath(%w[Hot-Water-Store-Insulation-Type])
27
+ end
28
+
29
+ def cylinder_size
30
+ xpath(%w[Hot-Water-Store-Size])
31
+ end
32
+
33
+ def has_cylinder_thermostat
34
+ xpath(%w[Has-Cylinder-Thermostat])
35
+ end
36
+
37
+ def mech_vent_sys_index_number
38
+ xpath(%w[Mechanical-Vent-System-Index-Number])
39
+ end
40
+
41
+ def mechanical_vent_data_source
42
+ xpath(%w[Mechanical-Ventilation-Data-Source])
43
+ end
44
+
45
+ def thermal_store
46
+ xpath(%w[Thermal-Store])
47
+ end
48
+
49
+ def ventilation_type
50
+ xpath(%w[Ventilation-Type])
51
+ end
52
+
53
+ def water_heating_fuel
54
+ xpath(%w[Water-Fuel-Type])
55
+ end
20
56
  end
21
57
  end
22
58
  end
@@ -228,10 +228,6 @@ module ViewModel
228
228
  xpath(%w[Secondary-Fuel-Type])
229
229
  end
230
230
 
231
- def water_heating_fuel
232
- xpath(%w[Water-Fuel-Type])
233
- end
234
-
235
231
  def type_of_assessment
236
232
  case xpath(%w[Report-Type]).to_i
237
233
  when 1
@@ -64,6 +64,42 @@ module ViewModel
64
64
  def energy_tariff
65
65
  xpath(%w[Meter-Type])
66
66
  end
67
+
68
+ def cylinder_insul_thickness
69
+ xpath(%w[Cylinder-Insulation-Thickness])
70
+ end
71
+
72
+ def cylinder_insulation_type
73
+ xpath(%w[Cylinder-Insulation-Type])
74
+ end
75
+
76
+ def cylinder_size
77
+ xpath(%w[Cylinder-Size])
78
+ end
79
+
80
+ def has_cylinder_thermostat
81
+ xpath(%w[Cylinder-Thermostat])
82
+ end
83
+
84
+ def mech_vent_sys_index_number
85
+ nil
86
+ end
87
+
88
+ def mechanical_vent_data_source
89
+ nil
90
+ end
91
+
92
+ def thermal_store
93
+ nil
94
+ end
95
+
96
+ def ventilation_type
97
+ nil
98
+ end
99
+
100
+ def water_heating_fuel
101
+ xpath(%w[Water-Heating-Fuel])
102
+ end
67
103
  end
68
104
  end
69
105
  end
@@ -17,6 +17,42 @@ module ViewModel
17
17
  def construction_year
18
18
  xpath(%w[Construction-Year])
19
19
  end
20
+
21
+ def cylinder_insul_thickness
22
+ xpath(%w[Hot-Water-Store-Insulation-Thickness])
23
+ end
24
+
25
+ def cylinder_insulation_type
26
+ xpath(%w[Hot-Water-Store-Insulation-Type])
27
+ end
28
+
29
+ def cylinder_size
30
+ xpath(%w[Hot-Water-Store-Size])
31
+ end
32
+
33
+ def has_cylinder_thermostat
34
+ xpath(%w[Has-Cylinder-Thermostat])
35
+ end
36
+
37
+ def mech_vent_sys_index_number
38
+ xpath(%w[Mechanical-Vent-System-Index-Number])
39
+ end
40
+
41
+ def mechanical_vent_data_source
42
+ xpath(%w[Mechanical-Ventilation-Data-Source])
43
+ end
44
+
45
+ def thermal_store
46
+ xpath(%w[Thermal-Store])
47
+ end
48
+
49
+ def ventilation_type
50
+ xpath(%w[Ventilation-Type])
51
+ end
52
+
53
+ def water_heating_fuel
54
+ xpath(%w[Water-Fuel-Type])
55
+ end
20
56
  end
21
57
  end
22
58
  end
@@ -228,10 +228,6 @@ module ViewModel
228
228
  xpath(%w[Secondary-Fuel-Type])
229
229
  end
230
230
 
231
- def water_heating_fuel
232
- xpath(%w[Water-Fuel-Type])
233
- end
234
-
235
231
  def type_of_assessment
236
232
  case xpath(%w[Report-Type]).to_i
237
233
  when 1
@@ -64,6 +64,42 @@ module ViewModel
64
64
  def energy_tariff
65
65
  xpath(%w[Meter-Type])
66
66
  end
67
+
68
+ def cylinder_insul_thickness
69
+ xpath(%w[Cylinder-Insulation-Thickness])
70
+ end
71
+
72
+ def cylinder_insulation_type
73
+ xpath(%w[Cylinder-Insulation-Type])
74
+ end
75
+
76
+ def cylinder_size
77
+ xpath(%w[Cylinder-Size])
78
+ end
79
+
80
+ def has_cylinder_thermostat
81
+ xpath(%w[Cylinder-Thermostat])
82
+ end
83
+
84
+ def mech_vent_sys_index_number
85
+ nil
86
+ end
87
+
88
+ def mechanical_vent_data_source
89
+ nil
90
+ end
91
+
92
+ def thermal_store
93
+ nil
94
+ end
95
+
96
+ def ventilation_type
97
+ nil
98
+ end
99
+
100
+ def water_heating_fuel
101
+ xpath(%w[Water-Heating-Fuel])
102
+ end
67
103
  end
68
104
  end
69
105
  end
@@ -17,6 +17,42 @@ module ViewModel
17
17
  def construction_year
18
18
  xpath(%w[Construction-Year])
19
19
  end
20
+
21
+ def cylinder_insul_thickness
22
+ xpath(%w[Hot-Water-Store-Insulation-Thickness])
23
+ end
24
+
25
+ def cylinder_insulation_type
26
+ xpath(%w[Hot-Water-Store-Insulation-Type])
27
+ end
28
+
29
+ def cylinder_size
30
+ xpath(%w[Hot-Water-Store-Size])
31
+ end
32
+
33
+ def has_cylinder_thermostat
34
+ xpath(%w[Has-Cylinder-Thermostat])
35
+ end
36
+
37
+ def mech_vent_sys_index_number
38
+ xpath(%w[Mechanical-Vent-System-Index-Number])
39
+ end
40
+
41
+ def mechanical_vent_data_source
42
+ xpath(%w[Mechanical-Ventilation-Data-Source])
43
+ end
44
+
45
+ def thermal_store
46
+ xpath(%w[Thermal-Store])
47
+ end
48
+
49
+ def ventilation_type
50
+ xpath(%w[Ventilation-Type])
51
+ end
52
+
53
+ def water_heating_fuel
54
+ xpath(%w[Water-Fuel-Type])
55
+ end
20
56
  end
21
57
  end
22
58
  end
@@ -232,10 +232,6 @@ module ViewModel
232
232
  xpath(%w[Secondary-Fuel-Type])
233
233
  end
234
234
 
235
- def water_heating_fuel
236
- xpath(%w[Water-Fuel-Type])
237
- end
238
-
239
235
  def type_of_assessment
240
236
  case xpath(%w[Report-Type]).to_i
241
237
  when 1
@@ -64,6 +64,50 @@ module ViewModel
64
64
  def energy_tariff
65
65
  xpath(%w[Meter-Type])
66
66
  end
67
+
68
+ def cylinder_insul_thickness
69
+ xpath(%w[Cylinder-Insulation-Thickness])
70
+ end
71
+
72
+ def low_energy_lighting
73
+ nil
74
+ end
75
+
76
+ def multiple_glazed_proportion
77
+ xpath(%w[Multiple-Glazed-Proportion])
78
+ end
79
+
80
+ def cylinder_insulation_type
81
+ xpath(%w[Cylinder-Insulation-Type])
82
+ end
83
+
84
+ def cylinder_size
85
+ xpath(%w[Cylinder-Size])
86
+ end
87
+
88
+ def has_cylinder_thermostat
89
+ xpath(%w[Cylinder-Thermostat])
90
+ end
91
+
92
+ def mech_vent_sys_index_number
93
+ nil
94
+ end
95
+
96
+ def mechanical_vent_data_source
97
+ nil
98
+ end
99
+
100
+ def thermal_store
101
+ nil
102
+ end
103
+
104
+ def ventilation_type
105
+ nil
106
+ end
107
+
108
+ def water_heating_fuel
109
+ xpath(%w[Water-Heating-Fuel])
110
+ end
67
111
  end
68
112
  end
69
113
  end
@@ -17,6 +17,42 @@ module ViewModel
17
17
  def construction_year
18
18
  xpath(%w[Construction-Year])
19
19
  end
20
+
21
+ def cylinder_insul_thickness
22
+ xpath(%w[Hot-Water-Store-Insulation-Thickness])
23
+ end
24
+
25
+ def cylinder_insulation_type
26
+ xpath(%w[Hot-Water-Store-Insulation-Type])
27
+ end
28
+
29
+ def cylinder_size
30
+ xpath(%w[Hot-Water-Store-Size])
31
+ end
32
+
33
+ def has_cylinder_thermostat
34
+ xpath(%w[Has-Cylinder-Thermostat])
35
+ end
36
+
37
+ def mech_vent_sys_index_number
38
+ xpath(%w[Mechanical-Vent-System-Index-Number])
39
+ end
40
+
41
+ def mechanical_vent_data_source
42
+ xpath(%w[Mechanical-Ventilation-Data-Source])
43
+ end
44
+
45
+ def thermal_store
46
+ xpath(%w[Thermal-Store])
47
+ end
48
+
49
+ def ventilation_type
50
+ xpath(%w[Ventilation-Type])
51
+ end
52
+
53
+ def water_heating_fuel
54
+ xpath(%w[Water-Fuel-Type])
55
+ end
20
56
  end
21
57
  end
22
58
  end
@@ -478,6 +478,38 @@ module ViewModel
478
478
  .search("Main-Heating-Controls/Environmental-Efficiency-Rating")
479
479
  .map(&:content)
480
480
  end
481
+
482
+ def cylinder_insul_thickness
483
+ xpath(%w[Hot-Water-Store-Insulation-Thickness])
484
+ end
485
+
486
+ def cylinder_insulation_type
487
+ xpath(%w[Hot-Water-Store-Insulation-Type])
488
+ end
489
+
490
+ def cylinder_size
491
+ xpath(%w[Hot-Water-Store-Size])
492
+ end
493
+
494
+ def has_cylinder_thermostat
495
+ xpath(%w[Has-Cylinder-Thermostat])
496
+ end
497
+
498
+ def mech_vent_sys_index_number
499
+ xpath(%w[Mechanical-Vent-System-Index-Number])
500
+ end
501
+
502
+ def mechanical_vent_data_source
503
+ xpath(%w[Mechanical-Ventilation-Data-Source])
504
+ end
505
+
506
+ def thermal_store
507
+ xpath(%w[Thermal-Store])
508
+ end
509
+
510
+ def ventilation_type
511
+ xpath(%w[Ventilation-Type])
512
+ end
481
513
  end
482
514
  end
483
515
  end