class Helper::XmlEnumsToOutput

Constants

BUILT_FORM
CEPC_TRANSACTION_TYPE
CONSTRUCTION_AGE_BAND
CYLINDER_INSULATION_THICKNESS
HEAT_LOSS_CORRIDOR
MECHANICAL_VENTILATION
PROPERTY_TYPE
RATINGS
RDSAP_ENERGY_TARIFF
RDSAP_FUEL_TYPE
RDSAP_FUEL_TYPE_PRE_143
RDSAP_GLAZED_AREA
RDSAP_GLAZED_TYPE
SAP_ENERGY_TARIFF
SAP_FUEL_TYPE
TENURE
TRANSACTION_TYPE
VENTILATION_TYPE

Public Class Methods

built_form_string(number) click to toggle source
# File lib/helper/xml_enums_to_output.rb, line 250
def self.built_form_string(number)
  BUILT_FORM[number]
end
cepc_transaction_type(value) click to toggle source
# File lib/helper/xml_enums_to_output.rb, line 422
def self.cepc_transaction_type(value)
  CEPC_TRANSACTION_TYPE[value] || value
end
construction_age_band_lookup(value, schema_type, report_type) click to toggle source
# File lib/helper/xml_enums_to_output.rb, line 305
def self.construction_age_band_lookup(value, schema_type, report_type)
  types_of_sap_pre17 = %w[
    SAP-Schema-16.3
    SAP-Schema-16.2
    SAP-Schema-16.1
    SAP-Schema-16.0
    SAP-Schema-15.0
    SAP-Schema-14.2
    SAP-Schema-14.1
    SAP-Schema-14.0
    SAP-Schema-13.0
    SAP-Schema-12.0
    SAP-Schema-11.2
    SAP-Schema-11.0
  ].freeze

  schemes_that_use_not_recorded = %w[
    SAP-Schema-16.3
    SAP-Schema-16.2
    SAP-Schema-16.1
    RdSAP-Schema-20.0.0
    RdSAP-Schema-19.0
    RdSAP-Schema-18.0
    RdSAP-Schema-17.1
    RdSAP-Schema-17.0
    RdSAP-Schema-NI-20.0.0
    RdSAP-Schema-NI-19.0
    RdSAP-Schema-NI-18.0
    RdSAP-Schema-NI-17.4
    RdSAP-Schema-NI-17.3
  ]

  schemes_that_use_l = %w[
    SAP-Schema-18.0.0
    SAP-Schema-17.1
    SAP-Schema-17.0
    RdSAP-Schema-20.0.0
    RdSAP-Schema-19.0
    RdSAP-Schema-18.0
    RdSAP-Schema-17.1
    RdSAP-Schema-17.0
    RdSAP-Schema-NI-20.0.0
    RdSAP-Schema-NI-19.0
    RdSAP-Schema-NI-18.0
    RdSAP-Schema-NI-17.4
    RdSAP-Schema-NI-17.3
  ]

  schemes_that_use_0 = %w[
    SAP-Schema-16.3
    SAP-Schema-16.2
    SAP-Schema-16.1
    SAP-Schema-16.0
    SAP-Schema-15.0
    SAP-Schema-14.2
    SAP-Schema-14.1
    SAP-Schema-14.0
    SAP-Schema-13.0
    SAP-Schema-12.0
    RdSAP-Schema-20.0.0
    RdSAP-Schema-19.0
    RdSAP-Schema-18.0
    RdSAP-Schema-17.1
    RdSAP-Schema-17.0
    RdSAP-Schema-NI-20.0.0
    RdSAP-Schema-NI-19.0
    RdSAP-Schema-NI-18.0
    RdSAP-Schema-NI-17.4
    RdSAP-Schema-NI-17.3
  ]

  if value == "K" && schema_type == "SAP-Schema-12.0" && is_rdsap(report_type)
    return CONSTRUCTION_AGE_BAND["K-12.0"]
  end

  if value == "K" && types_of_sap_pre17.include?(schema_type)
    return CONSTRUCTION_AGE_BAND["K-pre-17.0"]
  end

  if value == "NR" &&
      (!schemes_that_use_not_recorded.include?(schema_type) || is_sap(report_type))
    return value
  end

  return value if value == "L" && !schemes_that_use_l.include?(schema_type)

  if value == "0" &&
      (!schemes_that_use_0.include?(schema_type) || is_sap(report_type))
    return value
  end

  value == "" ? nil : CONSTRUCTION_AGE_BAND[value] || value
end
cylinder_insulation_thickness(value, report_type = "2") click to toggle source
# File lib/helper/xml_enums_to_output.rb, line 426
def self.cylinder_insulation_thickness(value, report_type = "2")
  if is_rdsap(report_type)
    CYLINDER_INSULATION_THICKNESS[value]
  else
    value
  end
end
energy_rating_string(value) click to toggle source
# File lib/helper/xml_enums_to_output.rb, line 254
def self.energy_rating_string(value)
  RATINGS[value]
end
energy_tariff(value, report_type) click to toggle source
# File lib/helper/xml_enums_to_output.rb, line 258
def self.energy_tariff(value, report_type)
  if is_sap(report_type)
    SAP_ENERGY_TARIFF[value] || value
  elsif is_rdsap(report_type)
    RDSAP_ENERGY_TARIFF[value] || value
  else
    value
  end
end
fuel_type(value, schema_type = "", report_type = "2") click to toggle source
# File lib/helper/xml_enums_to_output.rb, line 460
def self.fuel_type(value, schema_type = "", report_type = "2")
  rdsap = %i[
    RdSAP-Schema-20.0.0
    RdSAP-Schema-19.0
    RdSAP-Schema-18.0
    RdSAP-Schema-17.1
    RdSAP-Schema-17.0
    RdSAP-Schema-NI-20.0.0
    RdSAP-Schema-NI-19.0
    RdSAP-Schema-NI-18.0
    RdSAP-Schema-NI-17.4
    RdSAP-Schema-NI-17.3
  ]

  pre143_sap = %i[
    SAP-Schema-14.2
    SAP-Schema-14.1
    SAP-Schema-14.0
    SAP-Schema-13.0
    SAP-Schema-12.0
    SAP-Schema-11.2
    SAP-Schema-11.0
    SAP-Schema-10.2
    SAP-Schema-NI-14.2
    SAP-Schema-NI-14.1
    SAP-Schema-NI-14.0
    SAP-Schema-NI-13.0
    SAP-Schema-NI-12.0
    SAP-Schema-NI-11.2
  ]

  includes_rapeseed_oil = %i[
    SAP-Schema-16.3
    SAP-Schema-16.2
    SAP-Schema-16.1
    SAP-Schema-16.0
    SAP-Schema-15.0
    SAP-Schema-NI-17.2
    SAP-Schema-NI-17.1
    SAP-Schema-NI-17.0
    SAP-Schema-NI-16.1
    SAP-Schema-NI-16.0
    SAP-Schema-NI-15.0
  ]

  sap = %i[
    SAP-Schema-18.0.0
    SAP-Schema-17.1
    SAP-Schema-17.0
    SAP-Schema-16.3
    SAP-Schema-16.2
    SAP-Schema-16.1
    SAP-Schema-16.0
    SAP-Schema-15.0
    SAP-Schema-14.2
    SAP-Schema-14.1
    SAP-Schema-14.0
    SAP-Schema-13.0
    SAP-Schema-12.0
    SAP-Schema-11.2
    SAP-Schema-11.0
    SAP-Schema-10.2
    SAP-Schema-NI-18.0.0
    SAP-Schema-NI-17.4
    SAP-Schema-NI-17.3
    SAP-Schema-NI-17.2
    SAP-Schema-NI-17.1
    SAP-Schema-NI-17.0
    SAP-Schema-NI-16.1
    SAP-Schema-NI-16.0
    SAP-Schema-NI-15.0
    SAP-Schema-NI-14.2
    SAP-Schema-NI-14.1
    SAP-Schema-NI-14.0
    SAP-Schema-NI-13.0
    SAP-Schema-NI-12.0
    SAP-Schema-NI-11.2
  ]

  if rdsap.include?(schema_type)
    RDSAP_FUEL_TYPE[value]
  elsif sap.include?(schema_type) && is_sap(report_type)
     SAP_FUEL_TYPE[value]
  elsif sap.include?(schema_type) && is_rdsap(report_type)
    if includes_rapeseed_oil.include?(schema_type) && value == "36"
      return RDSAP_FUEL_TYPE["#{value}-rapeseed-oil"]
    end
    if pre143_sap.include?(schema_type)
      return RDSAP_FUEL_TYPE_PRE_143["#{value}-pre14.3-sap"] || RDSAP_FUEL_TYPE[value]
    else
      RDSAP_FUEL_TYPE[value]
    end
  end
end
glazed_area_rdsap(value) click to toggle source
# File lib/helper/xml_enums_to_output.rb, line 268
def self.glazed_area_rdsap(value)
  RDSAP_GLAZED_AREA[value]
end
glazed_type_rdsap(value) click to toggle source
# File lib/helper/xml_enums_to_output.rb, line 272
def self.glazed_type_rdsap(value)
  RDSAP_GLAZED_TYPE[value]
end
heat_loss_corridor(value) click to toggle source
# File lib/helper/xml_enums_to_output.rb, line 403
def self.heat_loss_corridor(value)
  HEAT_LOSS_CORRIDOR[value] || value
end
mechanical_ventilation(value, schema_type, report_type) click to toggle source
# File lib/helper/xml_enums_to_output.rb, line 407
def self.mechanical_ventilation(value, schema_type, report_type)
  types_of_sap_pre12 = %w[
    SAP-Schema-11.2
    SAP-Schema-11.0
    SAP-Schema-10.2
    SAP-Schema-NI-11.2
  ].freeze

  if types_of_sap_pre12.include?(schema_type.to_s) && is_rdsap(report_type)
    return MECHANICAL_VENTILATION["#{value}-pre12.0"]
  end

  MECHANICAL_VENTILATION[value] || value
end
property_type(value) click to toggle source
# File lib/helper/xml_enums_to_output.rb, line 399
def self.property_type(value)
  PROPERTY_TYPE[value] || value
end
tenure(value) click to toggle source
# File lib/helper/xml_enums_to_output.rb, line 276
def self.tenure(value)
  TENURE[value] || value
end
transaction_type(value, report_type = "2", schema_type = "") click to toggle source
# File lib/helper/xml_enums_to_output.rb, line 280
def self.transaction_type(value, report_type = "2", schema_type = "")
  types_of_ni = %w[
    RdSAP-Schema-NI-20.0.0
    RdSAP-Schema-NI-19.0
    RdSAP-Schema-NI-18.0
    RdSAP-Schema-NI-17.4
    RdSAP-Schema-NI-17.3
    SAP-Schema-NI-16.1
    SAP-Schema-NI-17.0
    SAP-Schema-NI-17.1
    SAP-Schema-NI-17.2
    SAP-Schema-NI-17.3
    SAP-Schema-NI-17.4
    SAP-Schema-NI-18.0.0
  ]

  if is_rdsap(report_type) && value.to_i >= 12
    TRANSACTION_TYPE["#{value}RdSAP"]
  elsif types_of_ni.include?(schema_type) && value.to_i == 5
    TRANSACTION_TYPE["ni_5"]
  else
    TRANSACTION_TYPE[value] || value
  end
end
ventilation_type(value, schema_type = "") click to toggle source
# File lib/helper/xml_enums_to_output.rb, line 442
def self.ventilation_type(value, schema_type = "")
  ni_sap = %w[
    SAP-Schema-NI-16.1
    SAP-Schema-NI-16.0
    SAP-Schema-NI-15.0
    SAP-Schema-NI-14.2
    SAP-Schema-NI-14.1
    SAP-Schema-NI-14.0
    SAP-Schema-NI-13.0
  ].freeze

  if ni_sap.include?(schema_type) && value == "9"
    VENTILATION_TYPE[value].split(".").first
  else
    VENTILATION_TYPE[value]
  end
end

Private Class Methods

is_rdsap(report_type) click to toggle source
# File lib/helper/xml_enums_to_output.rb, line 434
def self.is_rdsap(report_type)
  report_type == "2"
end
is_sap(report_type) click to toggle source
# File lib/helper/xml_enums_to_output.rb, line 438
def self.is_sap(report_type)
  report_type == "3"
end