Sha256: 18f0c1b0597a8bf253c1102bcfb79ce78bc55e32cec01e56fb0d0db0e38983f9

Contents?: true

Size: 690 Bytes

Versions: 5

Compression:

Stored size: 690 Bytes

Contents

# frozen_string_literal: true

def get_ems_values(ems_objects, name)
  values = {}
  ems_objects.each do |ems_object|
    next unless ems_object.name.to_s.include? name.gsub(' ', '_')

    ems_object.lines.each do |line|
      next unless line.downcase.start_with? 'set'

      lhs, rhs = line.split('=')
      lhs = lhs.gsub('Set', '').gsub('set', '').strip
      rhs = rhs.gsub(',', '').gsub(';', '').strip
      values[lhs] = [] if values[lhs].nil?
      # eg. "Q = Q + 1.5"
      if rhs.include? '+'
        rhs_els = rhs.split('+')
        rhs = rhs_els.map { |s| s.to_f }.sum(0.0)
      else
        rhs = rhs.to_f
      end
      values[lhs] << rhs
    end
  end
  return values
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
urbanopt-cli-0.6.4 example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/util.rb
urbanopt-cli-0.6.3 example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/util.rb
urbanopt-cli-0.6.2 example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/util.rb
urbanopt-cli-0.6.1 example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/util.rb
urbanopt-cli-0.6.0 example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/util.rb