Sha256: 38adf7c5fedc843bf7a0ad6c632a46111cd349596d7378d50bc003bc986d40ec

Contents?: true

Size: 1.34 KB

Versions: 6

Compression:

Stored size: 1.34 KB

Contents

module ViewModel
  module SapSchema120
    class Sap < ViewModel::SapSchema120::CommonSchema
      def property_age_band
        construction_year
      end

      def construction_year
        xpath(%w[Construction-Year])
      end

      def cylinder_insul_thickness
        xpath(%w[Hot-Water-Store-Insulation-Thickness])
      end

      def cylinder_insulation_type
        xpath(%w[Hot-Water-Store-Insulation-Type])
      end

      def cylinder_size
        xpath(%w[Hot-Water-Store-Size])
      end

      def has_cylinder_thermostat
        xpath(%w[Has-Cylinder-Thermostat])
      end

      def mech_vent_sys_index_number
        xpath(%w[Mechanical-Vent-System-Index-Number])&.to_i
      end

      def mechanical_vent_data_source
        xpath(%w[Mechanical-Ventilation-Data-Source])
      end

      def thermal_store
        xpath(%w[Thermal-Store])
      end

      def ventilation_type
        xpath(%w[Ventilation-Type])
      end

      def water_heating_fuel
        xpath(%w[Water-Fuel-Type])
      end

      def total_roof_area
        roofs = @xml_doc.xpath("//SAP-Roofs/SAP-Roof")
        return nil if roofs.count.zero?

        total_roof_area = 0
        roofs.each do |roof|
          roof_area = roof.at("Total-Roof-Area")&.content.to_i
          total_roof_area += roof_area
        end
        total_roof_area
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
epb_view_models-2.0.5 lib/view_model/sap_schema_120/sap.rb
epb_view_models-2.0.4 lib/view_model/sap_schema_120/sap.rb
epb_view_models-2.0.3 lib/view_model/sap_schema_120/sap.rb
epb_view_models-2.0.2 lib/view_model/sap_schema_120/sap.rb
epb_view_models-2.0.1 lib/view_model/sap_schema_120/sap.rb
epb_view_models-2.0.0 lib/view_model/sap_schema_120/sap.rb