openstudio-extension 0.4.0 → 0.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b3d8f8d5d29b245e183160f8df682f54f5b8517bed970dd89e030f9c596df165
4
- data.tar.gz: 76979144d0c024f6e5a19619ef2586f0579fd7dbae0d3681b97d9b069f158d47
3
+ metadata.gz: 07fb8e05dbcb58025bd9f81eece27010cefe13ec967b48bdd307ccfe30bda2d0
4
+ data.tar.gz: cec559244c8d8897765a220883af3249decd5faeca6feae5163708ff8f883a80
5
5
  SHA512:
6
- metadata.gz: 5e7fe94e1472d9bdeb47ce805d527b261b7ad99a542205bb7ec810f1b56be189ccaee4a3cd71332d6d8b17c1121d4e699ca58daed5c6079a0fd1fb7fee5280ed
7
- data.tar.gz: f52a12a09efc3b934317ec42862958b88b74f0ff5dda5e706887b5fbbb5a3cab60b4ce97bf86bf972e085a58b6fb0e87f9c5817e75d3e37aaecdb981c8541b2a
6
+ metadata.gz: 3e437dec7e77dbcfd30853384b16cc7791165a498f75ca96a016a24bf0cc01e83b5872aa1b2e95d062a082cdf9bf8aeed3a91fd7cb19be56e8113f37abd8a2cd
7
+ data.tar.gz: 6234de082434647a2910623c9a1ae732088eb6706fc447883da09332dbd8704661583d23a8e02769bf90d5470bccf244ecde93a8411a1b1c2963c71e32f5ad7e
data/.rubocop.yml CHANGED
@@ -5,6 +5,7 @@ AllCops:
5
5
  - lib/measures/**/resources/*
6
6
  - lib/openstudio/extension/core/**/*
7
7
 
8
+ require: rubocop-performance
8
9
  inherit_from:
9
- - http://s3.amazonaws.com/openstudio-resources/styles/rubocop_v3.yml
10
+ - http://s3.amazonaws.com/openstudio-resources/styles/rubocop_v4.yml
10
11
 
data/CHANGELOG.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # OpenStudio Extension Gem
2
2
 
3
+ ## Version 0.4.4
4
+
5
+ * Update BCL gem to version 0.7.1 which upgrades REXML and Spreadsheet with security patches
6
+ * Minor updates to documentation
7
+
8
+ ## Version 0.4.3
9
+
10
+ * Update measure tester gem which upgrades Rubocop to 1.15
11
+ * Update styles to v4 based on new version of Rubocop
12
+
13
+ ## Version 0.4.2
14
+
15
+ * Fixes [#113](https://github.com/NREL/openstudio-extension-gem/issues/113) Fix bad args behavior on bar_from_building_type_ratios
16
+ * Fixes [#103](https://github.com/NREL/openstudio-extension-gem/issues/103) make check_upstream_measure_for_arg more robust for non string arguments
17
+ * Updatd version of openstudio-standards for development to openstudio-standards 0.2.13
18
+ * Added ASHRAE 90.1 2016 and 2019 to get_doe_templates method in os_lib_model_generation.rb file. This method is used by a number of measures to generate allowable argument values
19
+
20
+ ## Version 0.4.1
21
+
22
+ * Fixed [#95]( https://github.com/NREL/openstudio-extension-gem/issues/95 ), Extend exceptions on standards error messages for curves used on multiple objects
23
+ * Fixed [#113]( https://github.com/NREL/openstudio-extension-gem/issues/113 ), Fix bad args behavior on bar_from_building_type_ratios
24
+ * Fixed [#111]( https://github.com/NREL/openstudio-extension-gem/pull/111 ), night cycling change - for 0.4.x
25
+ * Updated version of openstudio-standards for development to openstudio-standards 0.2.13.rc3
26
+
3
27
  ## Version 0.4.0
4
28
 
5
29
  * Fix merging of options on initialization. Options hash will overwrite the default config AND the runner.conf files.
data/Gemfile CHANGED
@@ -2,5 +2,7 @@ source 'http://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in openstudio-extension.gemspec
4
4
 
5
- gemspec
5
+ # line below used for testing when need to test against branch instead of release of standards. Should be commented out prior to merge to develop
6
+ # gem 'openstudio-standards', github: 'NREL/openstudio-standards', branch: 'fix/901_2016_2019_properties' # for os_lib unit tests
6
7
 
8
+ gemspec
data/Jenkinsfile CHANGED
@@ -1,6 +1,6 @@
1
1
  //Jenkins pipelines are stored in shared libaries. Please see: https://github.com/NREL/cbci_jenkins_libs
2
2
 
3
- @Library('cbci_shared_libs@ruby_270') _
3
+ @Library('cbci_shared_libs') _
4
4
 
5
5
  // Build for PR to develop branch only.
6
6
  if ((env.CHANGE_ID) && (env.CHANGE_TARGET) ) { // check if set
data/README.md CHANGED
@@ -31,14 +31,15 @@ Each OpenStudio extension gem should define its own module name to ensure that t
31
31
 
32
32
  ## Installation
33
33
 
34
- To use this and other extension gems, you will need Ruby 2.5.x and OpenStudio 3.0.0 or greater.
34
+ To use the latest version of this and other extension gems, you will need Ruby 2.7.x and OpenStudio 3.1.0 or greater.
35
35
 
36
36
  ### Windows Installation
37
- Install Ruby using the [RubyInstaller](https://rubyinstaller.org/downloads/archives/) for [Ruby 2.5.5 (x64)](https://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-2.5.5-x64.exe).
37
+ Install Ruby with Devkit using the [RubyInstaller](https://rubyinstaller.org/downloads/archives/) for [Ruby 2.7.2 (x64)](
38
+ https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.7.2-1/rubyinstaller-devkit-2.7.2-1-x64.exe).
38
39
 
39
- Install Devkit using the [mingw64](https://dl.bintray.com/oneclick/rubyinstaller/DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe) installer.
40
+ Make sure that you select **option 3: MSYS2 and MINGW development toolchain** during the installation process.
40
41
 
41
- Check the ruby installation returns the correct Ruby version (2.5.x):
42
+ Check the ruby installation returns the correct Ruby version (2.7.x):
42
43
  ```
43
44
  ruby -v
44
45
  ```
@@ -48,10 +49,10 @@ Install bundler from the command line
48
49
  gem install bundler -v 2.1
49
50
  ```
50
51
 
51
- Install OpenStudio. Create a file ```C:\ruby-2.5.5-x64-mingw32\lib\ruby\site_ruby\openstudio.rb``` and point it to your OpenStudio installation by editing the contents. E.g.:
52
+ Install OpenStudio. Create a file ```C:\ruby-2.7.2-1-x64-mingw32\lib\ruby\site_ruby\openstudio.rb``` and point it to your OpenStudio installation by editing the contents. E.g.:
52
53
 
53
54
  ```ruby
54
- require 'C:\openstudio-3.0.0\Ruby\openstudio.rb'
55
+ require 'C:\openstudio-3.1.0\Ruby\openstudio.rb'
55
56
  ```
56
57
 
57
58
  Verify your OpenStudio and Ruby configuration:
@@ -65,7 +66,7 @@ rbenv can be installed via [Homebrew](https://brew.sh/):
65
66
  ```
66
67
  brew install rbenv
67
68
  rbenv init
68
- rbenv install 2.5.5
69
+ rbenv install 2.7.2
69
70
  ```
70
71
 
71
72
  Also install bundler
@@ -76,9 +77,9 @@ gem install bundler -v 2.1
76
77
  Install [OpenStudio](https://www.openstudio.net/downloads).
77
78
 
78
79
  Add the RUBYLIB environment variable to your `bash_profile` (or similar) file. It should point to the Ruby folder within
79
- the OpenStudio Application you just downloaded (replace 3.0.0 with the version you are using):
80
+ the OpenStudio Application you just downloaded (replace 3.1.0 with the version you are using):
80
81
  ```
81
- export RUBYLIB=/Applications/OpenStudio-3.0.0/Ruby
82
+ export RUBYLIB=/Applications/OpenStudio-3.1.0/Ruby
82
83
  ```
83
84
 
84
85
 
@@ -182,9 +183,10 @@ The following table contains all current extension gems.
182
183
  | OpenStudio Calibration Gem | openstudio-calibration | https://github.com/NREL/openstudio-calibration-gem |
183
184
  | OpenStudio EE Gem | openstudio-ee | https://github.com/NREL/openstudio-ee-gem |
184
185
  | OpenStudio District Systems Gem | openstudio-district-systems | https://github.com/NREL/openstudio-district-systems-gem |
186
+ | OpenStudio Load Flexibility Measures Gem | openstudio-load-flexibility-measures | https://github.com/NREL/openstudio-load-flexibility-measures-gem |
185
187
  | URBANopt Core Gem | urbanopt-core | https://github.com/urbanopt/urbanopt-core-gem |
186
188
  | URBANopt GeoJSON Gem | urbanopt-geojson | https://github.com/urbanopt/urbanopt-geojson-gem |
187
- | URBANopt Scenario Gem | urbanopt-scenario | https://github.com/urbanopt/urbanopt-scenario-gem |
189
+ | URBANopt Reporting Gem | urbanopt-reporting | https://github.com/urbanopt/urbanopt-reporting-gem |
188
190
  | BuildingSync Gem | buildingsync | https://github.com/BuildingSync/BuildingSync-gem |
189
191
 
190
192
  ### Initializing a new Extension Gem
data/Rakefile CHANGED
@@ -45,10 +45,10 @@ desc 'Initialize a new gem'
45
45
  task :init_new_gem do
46
46
  puts 'Initializing a new extension gem'
47
47
  print "\n Enter the name of the new gem directory (ex: openstudio-something-gem. Should end with '-gem'): "
48
- gem_name = STDIN.gets.chomp
48
+ gem_name = $stdin.gets.chomp
49
49
 
50
50
  print "\n Enter the path (full or relative to this repo) where you want the new gem directory to be created: "
51
- dir_path = STDIN.gets.chomp
51
+ dir_path = $stdin.gets.chomp
52
52
 
53
53
  # check if directory already exists at path, if so error
54
54
  full_dir_name = dir_path + gem_name
@@ -61,7 +61,7 @@ task :init_new_gem do
61
61
  end
62
62
 
63
63
  # copy file structure
64
- FileUtils.cp('.gitignore', full_dir_name + '/.gitignore')
64
+ FileUtils.cp('.gitignore', "#{full_dir_name}/.gitignore")
65
65
  FileUtils.cp_r(File.join(File.dirname(__FILE__), 'init_templates/template_gemfile.txt'), File.join(full_dir_name, 'Gemfile'))
66
66
  FileUtils.cp_r(File.join(File.dirname(__FILE__), 'doc_templates'), full_dir_name)
67
67
 
data/lib/change_log.rb CHANGED
@@ -144,7 +144,7 @@ class ChangeLog
144
144
  puts "Total Open Issues: #{@total_open_issues.length}"
145
145
  puts "Total Open Pull Requests: #{@total_open_pull_requests.length}"
146
146
  puts "\nDate Range: #{@start_date.strftime('%m/%d/%y')} - #{@end_date.strftime('%m/%d/%y')}:"
147
- puts "\nNew Issues: #{@new_issues.length} (" + @new_issues.map(&:number).join(', ') + ')'
147
+ puts "\nNew Issues: #{@new_issues.length} (#{@new_issues.map(&:number).join(', ')})"
148
148
 
149
149
  puts "\nClosed Issues: #{@closed_issues.length}"
150
150
  @closed_issues.each { |issue| puts print_issue(issue) }
@@ -233,7 +233,8 @@ module OsLib_HelperMethods
233
233
  msg.logChannel.include?('runmanager') || # RunManager messages
234
234
  msg.logChannel.include?('setFileExtension') || # .ddy extension unexpected
235
235
  msg.logChannel.include?('Translator') || # Forward translator and geometry translator
236
- msg.logMessage.include?('UseWeatherFile') # 'UseWeatherFile' is not yet a supported option for YearDescription
236
+ msg.logMessage.include?('UseWeatherFile') || # 'UseWeatherFile' is not yet a supported option for YearDescription
237
+ msg.logMessage.include?('has multiple parents') # 'has multiple parents' is thrown for various types of curves if used in multiple objects
237
238
 
238
239
  # Report the message in the correct way
239
240
  if msg.logLevel == OpenStudio::Info
@@ -158,6 +158,8 @@ module OsLib_ModelGeneration
158
158
  array << '90.1-2007'
159
159
  array << '90.1-2010'
160
160
  array << '90.1-2013'
161
+ array << '90.1-2016'
162
+ array << '90.1-2019'
161
163
  array << 'ComStock DOE Ref Pre-1980'
162
164
  array << 'ComStock DOE Ref 1980-2004'
163
165
  array << 'ComStock 90.1-2004'
@@ -1728,6 +1730,7 @@ module OsLib_ModelGeneration
1728
1730
 
1729
1731
  # prep arguments
1730
1732
  args = bar_arg_check_setup(model,runner,user_arguments)
1733
+ if !args then return false end
1731
1734
 
1732
1735
  # check that sum of fractions for b,c, and d is less than 1.0 (so something is left for primary building type)
1733
1736
  bldg_type_a_fract_bldg_area = 1.0 - args['bldg_type_b_fract_bldg_area'] - args['bldg_type_c_fract_bldg_area'] - args['bldg_type_d_fract_bldg_area']
@@ -1808,8 +1811,9 @@ module OsLib_ModelGeneration
1808
1811
 
1809
1812
  # do not setup arguments if they were already passed in to this method
1810
1813
  if args.nil?
1811
- # prep arguments
1814
+ # prep arguments
1812
1815
  args = bar_arg_check_setup(model,runner,user_arguments,false) # false stops it from checking args on used in bar_from_building_type_ratios
1816
+ if !args then return false end
1813
1817
 
1814
1818
  # identify primary building type for building form defaults
1815
1819
  primary_building_type = "PrimarySchool" # see what building type represents the most floro area
@@ -3248,6 +3252,15 @@ module OsLib_ModelGeneration
3248
3252
  end
3249
3253
  end
3250
3254
 
3255
+ # change night cycling control to "Thermostat" cycling and increase thermostat tolerance to 1.99999
3256
+ manager_night_cycles = model.getAvailabilityManagerNightCycles
3257
+
3258
+ manager_night_cycles.each do |night_cycle|
3259
+ night_cycle.setThermostatTolerance(1.9999)
3260
+ night_cycle.setCyclingRunTimeControlType("Thermostat")
3261
+ runner.registerInfo(" night_cycle == #{night_cycle}")
3262
+ end
3263
+
3251
3264
  # report final condition of model
3252
3265
  runner.registerFinalCondition("The building finished with #{model.getModelObjects.size} objects.")
3253
3266
 
@@ -55,7 +55,7 @@ module OpenStudio
55
55
  @root_dir = @extension.root_dir
56
56
  # Catch if measures_dir is nil, then just make it an empty string
57
57
  @measures_dir = @extension.measures_dir || ''
58
- @staged_path = @measures_dir + '/staged'
58
+ @staged_path = "#{@measures_dir}/staged"
59
59
  @core_dir = @extension.core_dir
60
60
  @doc_templates_dir = @extension.doc_templates_dir
61
61
  @files_dir = @extension.files_dir
@@ -201,9 +201,9 @@ module OpenStudio
201
201
  end
202
202
 
203
203
  # create new and existing directories
204
- FileUtils.mkdir_p(@staged_path.to_s + '/update')
205
- FileUtils.mkdir_p(@staged_path.to_s + '/push/component')
206
- FileUtils.mkdir_p(@staged_path.to_s + '/push/measure')
204
+ FileUtils.mkdir_p("#{@staged_path}/update")
205
+ FileUtils.mkdir_p("#{@staged_path}/push/component")
206
+ FileUtils.mkdir_p("#{@staged_path}/push/measure")
207
207
 
208
208
  # keep track of noop, update, push
209
209
  noops = 0
@@ -215,6 +215,7 @@ module OpenStudio
215
215
 
216
216
  dirs.each do |dir|
217
217
  next if dir.include?('Rakefile') || File.basename(dir) == 'staged'
218
+
218
219
  current_d = Dir.pwd
219
220
  content_name = File.basename(dir)
220
221
  puts '', '---'
@@ -235,6 +236,7 @@ module OpenStudio
235
236
  next if file.to_s.start_with?('tests/test') # From openstudio-measure-tester-gem
236
237
  next if file.to_s.start_with?('tests/coverage') # From openstudio-measure-tester-gem
237
238
  next if file.to_s.start_with?('test_results') # From openstudio-measure-tester-gem
239
+
238
240
  paths << file.to_s
239
241
  if file.to_s =~ /^.{0,2}component.xml$/ || file.to_s =~ /^.{0,2}measure.xml$/
240
242
  if file.to_s.match?(/^.{0,2}component.xml$/)
@@ -246,21 +248,22 @@ module OpenStudio
246
248
  end
247
249
  puts "UUID: #{uuid}, VID: #{vid}"
248
250
 
249
- # note: if uuid is missing, will assume new content
251
+ # NOTE: if uuid is missing, will assume new content
250
252
  action = bcl.search_by_uuid(uuid, vid)
251
253
  puts "#{content_name} ACTION TO TAKE: #{action}"
252
254
  # new content functionality needs to know if measure or component. update is agnostic.
253
- if action == 'noop' # ignore up-to-date content
255
+ case action
256
+ when 'noop' # ignore up-to-date content
254
257
  puts " - WARNING: local #{content_name} uuid and vid match BCL... no update will be performed"
255
258
  noops += 1
256
259
  next
257
- elsif action == 'update'
260
+ when 'update'
258
261
  # puts "#{content_name} labeled as update for BCL"
259
- destination = @staged_path + '/' + action + '/' + "#{content_name}.tar.gz"
262
+ destination = "#{@staged_path}/#{action}/#{content_name}.tar.gz"
260
263
  updates += 1
261
- elsif action == 'push'
264
+ when 'push'
262
265
  # puts "#{content_name} labeled as new content for BCL"
263
- destination = @staged_path + '/' + action + '/' + content_type + "/#{content_name}.tar.gz"
266
+ destination = "#{@staged_path}/#{action}/#{content_type}/#{content_name}.tar.gz"
264
267
  new_ones += 1
265
268
  end
266
269
 
@@ -309,7 +312,7 @@ module OpenStudio
309
312
  puts item.split('/').last
310
313
  total_count += 1
311
314
 
312
- receipt_file = File.dirname(item) + '/' + File.basename(item, '.tar.gz') + '.receipt'
315
+ receipt_file = "#{File.dirname(item)}/#{File.basename(item, '.tar.gz')}.receipt"
313
316
  if !reset && File.exist?(receipt_file)
314
317
  skipped += 1
315
318
  puts 'SKIP: receipt file found'
@@ -333,7 +336,7 @@ module OpenStudio
333
336
 
334
337
  # grab all the updated content (measures and components) tar files and push to bcl
335
338
  items = []
336
- paths = Pathname.glob(@staged_path.to_s + '/update/*.tar.gz')
339
+ paths = Pathname.glob("#{@staged_path}/update/*.tar.gz")
337
340
  paths.each do |path|
338
341
  # puts path
339
342
  items << path.to_s
@@ -342,7 +345,7 @@ module OpenStudio
342
345
  puts item.split('/').last
343
346
  total_count += 1
344
347
 
345
- receipt_file = File.dirname(item) + '/' + File.basename(item, '.tar.gz') + '.receipt'
348
+ receipt_file = "#{File.dirname(item)}/#{File.basename(item, '.tar.gz')}.receipt"
346
349
  if !reset && File.exist?(receipt_file)
347
350
  skipped += 1
348
351
  puts 'SKIP: receipt file found'
@@ -121,15 +121,15 @@ module OpenStudio
121
121
 
122
122
  # test to see if bundle is installed
123
123
  check_bundle = run_command('bundle -v', get_clean_env)
124
- if !check_bundle
125
- raise "Failed to run command 'bundle -v', check that bundle is installed" if !File.exist?(@dirname)
124
+ if !check_bundle && !File.exist?(@dirname)
125
+ raise "Failed to run command 'bundle -v', check that bundle is installed"
126
126
  end
127
127
 
128
128
  # TODO: check that ruby version is correct
129
129
 
130
130
  # check existing config
131
131
  needs_config = true
132
- if File.exist?('./.bundle/config') # checking wrt gemfile_dir
132
+ if File.exist?('./.bundle/config') # checking wrt gemfile_dir
133
133
  puts 'config exists'
134
134
  needs_config = false
135
135
  config = YAML.load_file('./.bundle/config')
@@ -166,10 +166,8 @@ module OpenStudio
166
166
  end
167
167
 
168
168
  needs_update = needs_config || needs_platform
169
- if !needs_update
170
- if !File.exist?('Gemfile.lock') || File.mtime(@gemfile_path) > File.mtime('Gemfile.lock')
171
- needs_update = true
172
- end
169
+ if !needs_update && (!File.exist?('Gemfile.lock') || File.mtime(@gemfile_path) > File.mtime('Gemfile.lock'))
170
+ needs_update = true
173
171
  end
174
172
 
175
173
  puts "needs_update = #{needs_update}"
@@ -241,7 +239,7 @@ module OpenStudio
241
239
  puts "Error running command: '#{command}'"
242
240
  puts "stdout: #{stdout_str}"
243
241
  puts "stderr: #{stderr_str}"
244
- STDOUT.flush
242
+ $stdout.flush
245
243
  result = false
246
244
  end
247
245
  ensure
@@ -318,10 +316,10 @@ module OpenStudio
318
316
 
319
317
  puts 'SYSTEM CALL:'
320
318
  puts the_call
321
- STDOUT.flush
319
+ $stdout.flush
322
320
  result = run_command(the_call, get_clean_env)
323
321
  puts "DONE, result = #{result}"
324
- STDOUT.flush
322
+ $stdout.flush
325
323
 
326
324
  return result
327
325
  end
@@ -358,10 +356,10 @@ module OpenStudio
358
356
 
359
357
  puts 'SYSTEM CALL:'
360
358
  puts the_call
361
- STDOUT.flush
359
+ $stdout.flush
362
360
  result &&= run_command(the_call, get_clean_env)
363
361
  puts "DONE, result = #{result}"
364
- STDOUT.flush
362
+ $stdout.flush
365
363
  end
366
364
 
367
365
  return result
@@ -425,7 +423,7 @@ module OpenStudio
425
423
  measures = Dir.glob(File.join(measures_dir, '**/**/resources/*.rb'))
426
424
  end
427
425
 
428
- # Note: some older measures like AEDG use 'OsLib_SomeName' instead of 'os_lib_some_name'
426
+ # NOTE: some older measures like AEDG use 'OsLib_SomeName' instead of 'os_lib_some_name'
429
427
  # this script isn't replacing those copies
430
428
 
431
429
  # loop through resource files
@@ -523,11 +521,9 @@ module OpenStudio
523
521
  return false
524
522
  end
525
523
 
526
- if File.exist?(File.join(doc_templates_dir, 'LICENSE.md'))
527
- if File.exist?(File.join(root_dir, 'LICENSE.md'))
528
- puts 'updating LICENSE.md in root dir'
529
- FileUtils.cp(File.join(doc_templates_dir, 'LICENSE.md'), File.join(root_dir, 'LICENSE.md'))
530
- end
524
+ if File.exist?(File.join(doc_templates_dir, 'LICENSE.md')) && File.exist?(File.join(root_dir, 'LICENSE.md'))
525
+ puts 'updating LICENSE.md in root dir'
526
+ FileUtils.cp(File.join(doc_templates_dir, 'LICENSE.md'), File.join(root_dir, 'LICENSE.md'))
531
527
  end
532
528
 
533
529
  ruby_regex = /^\#\s?[\#\*]{12,}.*copyright.*?\#\s?[\#\*]{12,}\s*$/mi
@@ -593,7 +589,7 @@ module OpenStudio
593
589
  puts ' CANNOT add license to file automatically, add it manually and it will update automatically in the future'
594
590
  next
595
591
  end
596
- File.open(dir_file, 'w') { |write| write << f.insert(0, path[:license] + "\n") }
592
+ File.open(dir_file, 'w') { |write| write << f.insert(0, "#{path[:license]}\n") }
597
593
  end
598
594
  end
599
595
  end
@@ -631,7 +627,7 @@ module OpenStudio
631
627
 
632
628
  if @options[:run_simulations]
633
629
  cli = OpenStudio.getOpenStudioCLI
634
- out_log = run_osw_path + '.log'
630
+ out_log = "#{run_osw_path}.log"
635
631
  # if Gem.win_platform?
636
632
  # # out_log = "nul"
637
633
  # else
@@ -655,10 +651,10 @@ module OpenStudio
655
651
 
656
652
  puts 'SYSTEM CALL:'
657
653
  puts the_call
658
- STDOUT.flush
654
+ $stdout.flush
659
655
  result = run_command(the_call, get_clean_env)
660
656
  puts "DONE, result = #{result}"
661
- STDOUT.flush
657
+ $stdout.flush
662
658
  else
663
659
  puts 'simulations are not performed, since to the @options[:run_simulations] is set to false'
664
660
  end
@@ -35,6 +35,6 @@
35
35
 
36
36
  module OpenStudio
37
37
  module Extension
38
- VERSION = '0.4.0'.freeze
38
+ VERSION = '0.4.4'.freeze
39
39
  end
40
40
  end
@@ -209,11 +209,9 @@ module OpenStudio
209
209
  def self.set_measure_argument(osw, measure_dir_name, argument_name, argument_value, step_name = nil)
210
210
  result = false
211
211
  osw[:steps].each do |step|
212
- if step[:measure_dir_name] == measure_dir_name
213
- if step_name.nil? || step[:name] == step_name
214
- step[:arguments][argument_name.to_sym] = argument_value
215
- result = true
216
- end
212
+ if step[:measure_dir_name] == measure_dir_name && (step_name.nil? || step[:name] == step_name)
213
+ step[:arguments][argument_name.to_sym] = argument_value
214
+ result = true
217
215
  end
218
216
  end
219
217
 
@@ -239,10 +237,8 @@ module OpenStudio
239
237
  def self.measure_in_osw(osw, measure_dir_name, step_name = nil)
240
238
  result = false
241
239
  osw[:steps].each do |step|
242
- if step[:measure_dir_name] == measure_dir_name
243
- if step_name.nil? || step[:name] == step_name
244
- result = true
245
- end
240
+ if step[:measure_dir_name] == measure_dir_name && (step_name.nil? || step[:name] == step_name)
241
+ result = true
246
242
  end
247
243
  end
248
244
 
@@ -6,12 +6,12 @@ Gem::Specification.new do |spec|
6
6
  spec.name = 'openstudio-extension'
7
7
  spec.version = OpenStudio::Extension::VERSION
8
8
  spec.platform = Gem::Platform::RUBY
9
- spec.authors = ['Katherine Fleming', 'Nicholas Long', 'Daniel Macumber']
10
- spec.email = ['katherine.fleming@nrel.gov', 'nicholas.long@nrel.gov', 'daniel.macumber@nrel.gov']
9
+ spec.authors = ['Katherine Fleming', 'Nicholas Long', 'Daniel Macumber', 'David Goldwasser']
10
+ spec.email = ['katherine.fleming@nrel.gov', 'nicholas.long@nrel.gov', 'daniel.macumber@nrel.gov', 'david.goldwasser@nrel.gov']
11
11
 
12
12
  spec.homepage = 'https://openstudio.net'
13
13
  spec.summary = 'openstudio base gem for creating generic extensions with encapsulated data and measures.'
14
- spec.description = 'openstudio base gem for creating generic extensions with encapsulated data and measures.'
14
+ spec.description = 'openstudio base gem for creating generic extensions with encapsulated data and measures. Also contains ruby libraries that required by many measures.'
15
15
  spec.metadata = {
16
16
  'bug_tracker_uri' => 'https://github.com/NREL/openstudio-extension-gem/issues',
17
17
  'changelog_uri' => 'https://github.com/NREL/openstudio-extension-gem/blob/develop/CHANGELOG.md',
@@ -28,14 +28,16 @@ Gem::Specification.new do |spec|
28
28
 
29
29
  spec.required_ruby_version = '~> 2.7.0'
30
30
 
31
- spec.add_dependency 'bcl', '~> 0.7.0'
31
+ spec.add_dependency 'bcl', '~> 0.7.1'
32
32
  spec.add_dependency 'bundler', '>= 2.1.0'
33
33
  spec.add_dependency 'octokit', '~> 4.18.0' # for change logs
34
+ spec.add_dependency 'openstudio_measure_tester', '~> 0.3.1'
34
35
  spec.add_dependency 'openstudio-workflow', '~> 2.2.0'
35
- spec.add_dependency 'openstudio_measure_tester', '~> 0.3.0'
36
36
  spec.add_dependency 'parallel', '~> 1.19.1'
37
37
 
38
- spec.add_development_dependency 'openstudio-standards', '~> 0.2.12' # for os_lib unit tests
38
+ spec.add_development_dependency 'openstudio-standards', '~> 0.2.13' # for os_lib unit tests
39
39
  spec.add_development_dependency 'rake', '~> 13.0'
40
40
  spec.add_development_dependency 'rspec', '~> 3.9'
41
+
42
+
41
43
  end
metadata CHANGED
@@ -1,16 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openstudio-extension
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Katherine Fleming
8
8
  - Nicholas Long
9
9
  - Daniel Macumber
10
+ - David Goldwasser
10
11
  autorequire:
11
12
  bindir: exe
12
13
  cert_chain: []
13
- date: 2021-02-15 00:00:00.000000000 Z
14
+ date: 2021-09-03 00:00:00.000000000 Z
14
15
  dependencies:
15
16
  - !ruby/object:Gem::Dependency
16
17
  name: bcl
@@ -18,14 +19,14 @@ dependencies:
18
19
  requirements:
19
20
  - - "~>"
20
21
  - !ruby/object:Gem::Version
21
- version: 0.7.0
22
+ version: 0.7.1
22
23
  type: :runtime
23
24
  prerelease: false
24
25
  version_requirements: !ruby/object:Gem::Requirement
25
26
  requirements:
26
27
  - - "~>"
27
28
  - !ruby/object:Gem::Version
28
- version: 0.7.0
29
+ version: 0.7.1
29
30
  - !ruby/object:Gem::Dependency
30
31
  name: bundler
31
32
  requirement: !ruby/object:Gem::Requirement
@@ -55,33 +56,33 @@ dependencies:
55
56
  - !ruby/object:Gem::Version
56
57
  version: 4.18.0
57
58
  - !ruby/object:Gem::Dependency
58
- name: openstudio-workflow
59
+ name: openstudio_measure_tester
59
60
  requirement: !ruby/object:Gem::Requirement
60
61
  requirements:
61
62
  - - "~>"
62
63
  - !ruby/object:Gem::Version
63
- version: 2.2.0
64
+ version: 0.3.1
64
65
  type: :runtime
65
66
  prerelease: false
66
67
  version_requirements: !ruby/object:Gem::Requirement
67
68
  requirements:
68
69
  - - "~>"
69
70
  - !ruby/object:Gem::Version
70
- version: 2.2.0
71
+ version: 0.3.1
71
72
  - !ruby/object:Gem::Dependency
72
- name: openstudio_measure_tester
73
+ name: openstudio-workflow
73
74
  requirement: !ruby/object:Gem::Requirement
74
75
  requirements:
75
76
  - - "~>"
76
77
  - !ruby/object:Gem::Version
77
- version: 0.3.0
78
+ version: 2.2.0
78
79
  type: :runtime
79
80
  prerelease: false
80
81
  version_requirements: !ruby/object:Gem::Requirement
81
82
  requirements:
82
83
  - - "~>"
83
84
  - !ruby/object:Gem::Version
84
- version: 0.3.0
85
+ version: 2.2.0
85
86
  - !ruby/object:Gem::Dependency
86
87
  name: parallel
87
88
  requirement: !ruby/object:Gem::Requirement
@@ -102,14 +103,14 @@ dependencies:
102
103
  requirements:
103
104
  - - "~>"
104
105
  - !ruby/object:Gem::Version
105
- version: 0.2.12
106
+ version: 0.2.13
106
107
  type: :development
107
108
  prerelease: false
108
109
  version_requirements: !ruby/object:Gem::Requirement
109
110
  requirements:
110
111
  - - "~>"
111
112
  - !ruby/object:Gem::Version
112
- version: 0.2.12
113
+ version: 0.2.13
113
114
  - !ruby/object:Gem::Dependency
114
115
  name: rake
115
116
  requirement: !ruby/object:Gem::Requirement
@@ -139,11 +140,12 @@ dependencies:
139
140
  - !ruby/object:Gem::Version
140
141
  version: '3.9'
141
142
  description: openstudio base gem for creating generic extensions with encapsulated
142
- data and measures.
143
+ data and measures. Also contains ruby libraries that required by many measures.
143
144
  email:
144
145
  - katherine.fleming@nrel.gov
145
146
  - nicholas.long@nrel.gov
146
147
  - daniel.macumber@nrel.gov
148
+ - david.goldwasser@nrel.gov
147
149
  executables: []
148
150
  extensions: []
149
151
  extra_rdoc_files: []
@@ -231,7 +233,7 @@ licenses: []
231
233
  metadata:
232
234
  bug_tracker_uri: https://github.com/NREL/openstudio-extension-gem/issues
233
235
  changelog_uri: https://github.com/NREL/openstudio-extension-gem/blob/develop/CHANGELOG.md
234
- source_code_uri: https://github.com/NREL/openstudio-extension-gem/tree/v0.4.0
236
+ source_code_uri: https://github.com/NREL/openstudio-extension-gem/tree/v0.4.4
235
237
  post_install_message:
236
238
  rdoc_options: []
237
239
  require_paths: