Class: URBANopt::Reporting::DefaultReports::EndUse
- Inherits:
-
Object
- Object
- URBANopt::Reporting::DefaultReports::EndUse
- Defined in:
- lib/urbanopt/reporting/default_reports/end_use.rb
Overview
Enduse class all enduse energy consumption results.
Instance Attribute Summary collapse
-
#cooling ⇒ Object
Returns the value of attribute cooling.
-
#electric_vehicles ⇒ Object
Returns the value of attribute electric_vehicles.
-
#exterior_equipment ⇒ Object
Returns the value of attribute exterior_equipment.
-
#exterior_lighting ⇒ Object
Returns the value of attribute exterior_lighting.
-
#fans ⇒ Object
Returns the value of attribute fans.
-
#generators ⇒ Object
Returns the value of attribute generators.
-
#heat_recovery ⇒ Object
Returns the value of attribute heat_recovery.
-
#heat_rejection ⇒ Object
Returns the value of attribute heat_rejection.
-
#heating ⇒ Object
Returns the value of attribute heating.
-
#humidification ⇒ Object
Returns the value of attribute humidification.
-
#interior_equipment ⇒ Object
Returns the value of attribute interior_equipment.
-
#interior_lighting ⇒ Object
Returns the value of attribute interior_lighting.
-
#pumps ⇒ Object
Returns the value of attribute pumps.
-
#refrigeration ⇒ Object
Returns the value of attribute refrigeration.
-
#water_systems ⇒ Object
Returns the value of attribute water_systems.
Instance Method Summary collapse
-
#add_values(existing_value, new_value) ⇒ Object
Adds up
existing_value
andnew_values
if not nill. -
#defaults ⇒ Object
Assign default values if values does not exist.
-
#initialize(hash = {}) ⇒ EndUse
constructor
EndUse class initialize all enduse attributes:
:heating
,:cooling
,:interior_lighting
,:exterior_lighting
,:interior_equipment
,:exterior_equipment
,:fans
,:pumps
,:heat_rejection
,:humidification
,:heat_recovery
,:water_systems
,:refrigeration
,:generators
. -
#merge_end_use!(other) ⇒ Object
Aggregate values of each EndUse attribute.
-
#to_hash ⇒ Object
Convert to a Hash equivalent for JSON serialization.
Constructor Details
#initialize(hash = {}) ⇒ EndUse
EndUse class initialize all enduse attributes: :heating
, :cooling
, :interior_lighting
, :exterior_lighting
, :interior_equipment
, :exterior_equipment
, :fans
, :pumps
, :heat_rejection
, :humidification
, :heat_recovery
, :water_systems
, :refrigeration
, :generators
- parameters:
-
hash
- Hash - A hash which may contain a deserialized end_use.
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/urbanopt/reporting/default_reports/end_use.rb', line 27 def initialize(hash = {}) hash.delete_if { |k, v| v.nil? } hash = defaults.merge(hash) @heating = hash[:heating] @cooling = hash[:cooling] @interior_lighting = hash[:interior_lighting] @exterior_lighting = hash[:exterior_lighting] @interior_equipment = hash[:interior_equipment] @exterior_equipment = hash[:exterior_equipment] @electric_vehicles = hash[:electric_vehicles] @fans = hash[:fans] @pumps = hash[:pumps] @heat_rejection = hash[:heat_rejection] @humidification = hash[:humidification] @heat_recovery = hash[:heat_recovery] @water_systems = hash[:water_systems] @refrigeration = hash[:refrigeration] @generators = hash[:generators] # initialize class variables @@validator and @@schema @@validator ||= Validator.new @@schema ||= @@validator.schema end |
Instance Attribute Details
#cooling ⇒ Object
Returns the value of attribute cooling.
16 17 18 |
# File 'lib/urbanopt/reporting/default_reports/end_use.rb', line 16 def cooling @cooling end |
#electric_vehicles ⇒ Object
Returns the value of attribute electric_vehicles.
16 17 18 |
# File 'lib/urbanopt/reporting/default_reports/end_use.rb', line 16 def electric_vehicles @electric_vehicles end |
#exterior_equipment ⇒ Object
Returns the value of attribute exterior_equipment.
16 17 18 |
# File 'lib/urbanopt/reporting/default_reports/end_use.rb', line 16 def exterior_equipment @exterior_equipment end |
#exterior_lighting ⇒ Object
Returns the value of attribute exterior_lighting.
16 17 18 |
# File 'lib/urbanopt/reporting/default_reports/end_use.rb', line 16 def exterior_lighting @exterior_lighting end |
#fans ⇒ Object
Returns the value of attribute fans.
16 17 18 |
# File 'lib/urbanopt/reporting/default_reports/end_use.rb', line 16 def fans @fans end |
#generators ⇒ Object
Returns the value of attribute generators.
16 17 18 |
# File 'lib/urbanopt/reporting/default_reports/end_use.rb', line 16 def generators @generators end |
#heat_recovery ⇒ Object
Returns the value of attribute heat_recovery.
16 17 18 |
# File 'lib/urbanopt/reporting/default_reports/end_use.rb', line 16 def heat_recovery @heat_recovery end |
#heat_rejection ⇒ Object
Returns the value of attribute heat_rejection.
16 17 18 |
# File 'lib/urbanopt/reporting/default_reports/end_use.rb', line 16 def heat_rejection @heat_rejection end |
#heating ⇒ Object
Returns the value of attribute heating.
16 17 18 |
# File 'lib/urbanopt/reporting/default_reports/end_use.rb', line 16 def heating @heating end |
#humidification ⇒ Object
Returns the value of attribute humidification.
16 17 18 |
# File 'lib/urbanopt/reporting/default_reports/end_use.rb', line 16 def humidification @humidification end |
#interior_equipment ⇒ Object
Returns the value of attribute interior_equipment.
16 17 18 |
# File 'lib/urbanopt/reporting/default_reports/end_use.rb', line 16 def interior_equipment @interior_equipment end |
#interior_lighting ⇒ Object
Returns the value of attribute interior_lighting.
16 17 18 |
# File 'lib/urbanopt/reporting/default_reports/end_use.rb', line 16 def interior_lighting @interior_lighting end |
#pumps ⇒ Object
Returns the value of attribute pumps.
16 17 18 |
# File 'lib/urbanopt/reporting/default_reports/end_use.rb', line 16 def pumps @pumps end |
#refrigeration ⇒ Object
Returns the value of attribute refrigeration.
16 17 18 |
# File 'lib/urbanopt/reporting/default_reports/end_use.rb', line 16 def refrigeration @refrigeration end |
#water_systems ⇒ Object
Returns the value of attribute water_systems.
16 17 18 |
# File 'lib/urbanopt/reporting/default_reports/end_use.rb', line 16 def water_systems @water_systems end |
Instance Method Details
#add_values(existing_value, new_value) ⇒ Object
Adds up existing_value
and new_values
if not nill.
- parameter:
-
existing_value
- Float - A value corresponding to a EndUse attribute.new_value
- Float - A value corresponding to a EndUse attribute.
118 119 120 121 122 123 124 125 |
# File 'lib/urbanopt/reporting/default_reports/end_use.rb', line 118 def add_values(existing_value, new_value) if existing_value && new_value existing_value += new_value elsif new_value existing_value = new_value end return existing_value end |
#defaults ⇒ Object
Assign default values if values does not exist
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/urbanopt/reporting/default_reports/end_use.rb', line 55 def defaults hash = {} hash[:heating] = nil hash[:cooling] = nil hash[:interior_lighting] = nil hash[:exterior_lighting] = nil hash[:interior_equipment] = nil hash[:exterior_equipment] = nil hash[:electric_vehicles] = nil hash[:fans] = nil hash[:pumps] = nil hash[:heat_rejection] = nil hash[:humidification] = nil hash[:heat_recovery] = nil hash[:water_systems] = nil hash[:refrigeration] = nil hash[:generators] = nil return hash end |
#merge_end_use!(other) ⇒ Object
Aggregate values of each EndUse attribute.
- Parameters:
-
other
- EndUse - An object of EndUse class.
133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 |
# File 'lib/urbanopt/reporting/default_reports/end_use.rb', line 133 def merge_end_use!(other) @heating = add_values(@heating, other.heating) @cooling = add_values(@cooling, other.cooling) @interior_lighting = add_values(@interior_lighting, other.interior_lighting) @exterior_lighting = add_values(@exterior_lighting, other.exterior_lighting) @interior_equipment = add_values(@interior_equipment, other.interior_equipment) @exterior_equipment = add_values(@exterior_equipment, other.exterior_equipment) @electric_vehicles = add_values(@electric_vehicles, other.electric_vehicles) @fans = add_values(@fans, other.fans) @pumps = add_values(@pumps, other.pumps) @heat_rejection = add_values(@heat_rejection, other.heat_rejection) @humidification = add_values(@humidification, other.humidification) @heat_recovery = add_values(@heat_recovery, other.heat_recovery) @water_systems = add_values(@water_systems, other.water_systems) @refrigeration = add_values(@refrigeration, other.refrigeration) @generators = add_values(@generators, other.generators) return self end |
#to_hash ⇒ Object
Convert to a Hash equivalent for JSON serialization.
-
Exclude attributes with nil values.
-
Validate end_use hash properties against schema.
83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 |
# File 'lib/urbanopt/reporting/default_reports/end_use.rb', line 83 def to_hash result = {} result[:heating] = @heating result[:cooling] = @cooling result[:interior_lighting] = @interior_lighting result[:exterior_lighting] = @exterior_lighting result[:interior_equipment] = @interior_equipment result[:exterior_equipment] = @exterior_equipment result[:electric_vehicles] = @electric_vehicles result[:fans] = @fans result[:pumps] = @pumps result[:heat_rejection] = @heat_rejection result[:humidification] = @humidification result[:heat_recovery] = @heat_recovery result[:water_systems] = @water_systems result[:refrigeration] = @refrigeration result[:generators] = @generators # validate end_use properties against schema if @@validator.validate(@@schema[:definitions][:EndUse][:properties], result).any? raise "end_use properties does not match schema: #{@@validator.validate(@@schema[:definitions][:EndUse][:properties], result)}" end return result end |