openstudio-extension 0.2.0 → 0.2.1
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 +4 -4
- data/CHANGELOG.md +15 -0
- data/Gemfile +2 -0
- data/Jenkinsfile +2 -2
- data/README.md +12 -23
- data/Rakefile +2 -0
- data/bin/console +1 -0
- data/lib/change_log.rb +4 -3
- data/lib/measures/openstudio_extension_test_measure/measure.rb +2 -0
- data/lib/measures/openstudio_extension_test_measure/tests/openstudio_extension_test_measure_test.rb +2 -0
- data/lib/openstudio-extension.rb +2 -0
- data/lib/openstudio/extension.rb +8 -10
- data/lib/openstudio/extension/core/CreateResults.rb +178 -1
- data/lib/openstudio/extension/core/os_lib_constructions.rb +6 -1
- data/lib/openstudio/extension/core/os_lib_geometry.rb +255 -77
- data/lib/openstudio/extension/core/os_lib_model_generation.rb +2519 -84
- data/lib/openstudio/extension/core/os_lib_reporting.rb +133 -30
- data/lib/openstudio/extension/rake_task.rb +2 -0
- data/lib/openstudio/extension/runner.rb +8 -5
- data/lib/openstudio/extension/runner_config.rb +16 -1
- data/lib/openstudio/extension/version.rb +3 -1
- data/openstudio-extension.gemspec +11 -10
- metadata +14 -29
- data/lib/openstudio/extension/core/os_lib_cofee.rb +0 -259
@@ -810,6 +810,7 @@ module OsLib_Reporting
|
|
810
810
|
summary_types << ['Heating Capacity', 'maxHeatingCapacity', 'W', 1, 'Btu/hr', 1]
|
811
811
|
summary_types << ['Cooling Capacity', 'maxCoolingCapacity', 'W', 1, 'ton', 1]
|
812
812
|
summary_types << ['Water Flow Rate', 'maxWaterFlowRate', 'm^3/s', 4, 'gal/min', 2]
|
813
|
+
summary_types << ['Rated Power', 'ratedPower', 'W', 1, 'W', 1]
|
813
814
|
summary_types.each do |s|
|
814
815
|
val_name = s[0]
|
815
816
|
val_method = s[1]
|
@@ -1212,37 +1213,34 @@ module OsLib_Reporting
|
|
1212
1213
|
thermal_zones.each do |zone|
|
1213
1214
|
total_loop_floor_area += zone.floorArea
|
1214
1215
|
end
|
1215
|
-
|
1216
|
+
|
1216
1217
|
source_units = 'm^2'
|
1217
1218
|
if is_ip_units
|
1218
1219
|
target_units = 'ft^2'
|
1219
1220
|
else
|
1220
1221
|
target_units = source_units
|
1221
1222
|
end
|
1222
|
-
|
1223
|
-
|
1223
|
+
total_loop_floor_area = OpenStudio.convert(total_loop_floor_area, source_units, target_units).get
|
1224
|
+
total_loop_floor_area_neat = OpenStudio.toNeatString(total_loop_floor_area, 0, true)
|
1224
1225
|
|
1225
1226
|
# output zone and terminal data
|
1226
|
-
#julien
|
1227
1227
|
if is_ip_units
|
1228
|
-
output_data_air_loops[:data] << ['Thermal Zones', 'Total Floor Area', "#{
|
1228
|
+
output_data_air_loops[:data] << ['Thermal Zones', 'Total Floor Area', "#{total_loop_floor_area_neat} ft^2", '', thermal_zones.size]
|
1229
1229
|
else
|
1230
|
-
output_data_air_loops[:data] << ['Thermal Zones', 'Total Floor Area', "#{
|
1230
|
+
output_data_air_loops[:data] << ['Thermal Zones', 'Total Floor Area', "#{total_loop_floor_area_neat} m^2", '', thermal_zones.size]
|
1231
|
+
end
|
1232
|
+
|
1233
|
+
# heating and cooling temperature range data
|
1234
|
+
source_units = 'C'
|
1235
|
+
if is_ip_units
|
1236
|
+
target_units = 'F'
|
1237
|
+
target_units_display = 'F'
|
1238
|
+
else
|
1239
|
+
target_units = source_units
|
1240
|
+
target_units_display = 'C'
|
1231
1241
|
end
|
1232
1242
|
if cooling_temp_ranges.empty?
|
1233
1243
|
cooling_temp_ranges_pretty = "can't inspect schedules"
|
1234
|
-
|
1235
|
-
#julien
|
1236
|
-
source_units = 'C'
|
1237
|
-
if is_ip_units
|
1238
|
-
target_units = 'F'
|
1239
|
-
target_units_display = "F"
|
1240
|
-
else
|
1241
|
-
target_units = source_units
|
1242
|
-
target_units_display = "C"
|
1243
|
-
end
|
1244
|
-
|
1245
|
-
|
1246
1244
|
else
|
1247
1245
|
cooling_temp_ranges_pretty = "#{OpenStudio.convert(cooling_temp_ranges.min, source_units, target_units).get.round(1)} to #{OpenStudio.convert(cooling_temp_ranges.max, source_units, target_units).get.round(1)}"
|
1248
1246
|
end
|
@@ -1251,17 +1249,6 @@ module OsLib_Reporting
|
|
1251
1249
|
else
|
1252
1250
|
heating_temps_ranges_pretty = "#{OpenStudio.convert(heating_temps_ranges.min, source_units, target_units).get.round(1)} to #{OpenStudio.convert(heating_temps_ranges.max, source_units, target_units).get.round(1)}"
|
1253
1251
|
end
|
1254
|
-
|
1255
|
-
#julien
|
1256
|
-
source_units = 'C'
|
1257
|
-
if is_ip_units
|
1258
|
-
target_units = 'F'
|
1259
|
-
target_units_display = "F"
|
1260
|
-
else
|
1261
|
-
target_units = source_units
|
1262
|
-
target_units_display = "C"
|
1263
|
-
end
|
1264
|
-
#julien => ok? Tjs dans la boucle?
|
1265
1252
|
output_data_air_loops[:data] << ['Thermal Zones', 'Cooling Setpoint Range', "#{cooling_temp_ranges_pretty} #{target_units_display}", '', '']
|
1266
1253
|
output_data_air_loops[:data] << ['Thermal Zones', 'Heating Setpoint Range', "#{heating_temps_ranges_pretty} #{target_units_display}", '', '']
|
1267
1254
|
output_data_air_loops[:data] << ['Terminal Types Used', terminals.uniq.sort.join(', '), '', '', terminals.size]
|
@@ -3024,6 +3011,13 @@ module OsLib_Reporting
|
|
3024
3011
|
ann_env_pd = OsLib_Reporting.ann_env_pd(sqlFile)
|
3025
3012
|
if ann_env_pd
|
3026
3013
|
|
3014
|
+
# store values about humidity fir reguster values
|
3015
|
+
zone_max_hours_over_70_rh = 0
|
3016
|
+
zone_max_hours_over_55_rh = 0
|
3017
|
+
rh_hours_threshold = 10 #hr
|
3018
|
+
num_zones_x_hours_over_70 = 0
|
3019
|
+
num_zones_x_hours_over_55 = 0
|
3020
|
+
|
3027
3021
|
# get keys
|
3028
3022
|
keys = sqlFile.availableKeyValues(ann_env_pd, 'Hourly', 'Zone Air Relative Humidity')
|
3029
3023
|
keys.each do |key|
|
@@ -3032,6 +3026,10 @@ module OsLib_Reporting
|
|
3032
3026
|
humidity_bins[k] = 0
|
3033
3027
|
end
|
3034
3028
|
|
3029
|
+
# reset humidity zone flag
|
3030
|
+
zone_rh_count_hr_55 = 0.0
|
3031
|
+
zone_rh_count_hr_70 = 0.0
|
3032
|
+
|
3035
3033
|
# get desired variable
|
3036
3034
|
output_timeseries = sqlFile.timeSeries(ann_env_pd, 'Hourly', 'Zone Air Relative Humidity', key)
|
3037
3035
|
# loop through timeseries and move the data from an OpenStudio timeseries to a normal Ruby array (vector)
|
@@ -3079,11 +3077,34 @@ module OsLib_Reporting
|
|
3079
3077
|
else
|
3080
3078
|
row_color << ''
|
3081
3079
|
end
|
3080
|
+
|
3081
|
+
# populate rh data for register_values
|
3082
|
+
# catch greater than 70 and 80 for runner.registerValue
|
3083
|
+
if ['55-60','60-65','65-70','70-75','75-80','>= 80'].include?(k)
|
3084
|
+
zone_rh_count_hr_55 += v
|
3085
|
+
end
|
3086
|
+
if ['70-75','75-80','>= 80'].include?(k)
|
3087
|
+
zone_rh_count_hr_70 += v
|
3088
|
+
end
|
3089
|
+
|
3082
3090
|
end
|
3083
3091
|
row_data += ["#{mean.round(1)} (%)"]
|
3084
3092
|
row_color += ['']
|
3085
3093
|
humidity_table[:data] << row_data
|
3086
3094
|
humidity_table[:data_color] << row_color
|
3095
|
+
|
3096
|
+
# apply rh zones and max hours
|
3097
|
+
if zone_rh_count_hr_55 >= rh_hours_threshold then num_zones_x_hours_over_55 += 1 end
|
3098
|
+
if zone_rh_count_hr_70 >= rh_hours_threshold then num_zones_x_hours_over_70 += 1 end
|
3099
|
+
if zone_max_hours_over_55_rh < zone_rh_count_hr_55 then zone_max_hours_over_55_rh = zone_rh_count_hr_55 end
|
3100
|
+
if zone_max_hours_over_70_rh < zone_rh_count_hr_70 then zone_max_hours_over_70_rh = zone_rh_count_hr_70 end
|
3101
|
+
|
3102
|
+
# add rh runner.registerValues to be used as output in analyses
|
3103
|
+
runner.registerValue("zone_max_hours_over_70_rh",zone_max_hours_over_70_rh,"hr")
|
3104
|
+
runner.registerValue("zone_max_hours_over_55_rh",zone_max_hours_over_55_rh,"hr")
|
3105
|
+
runner.registerValue("num_zones_x_hours_over_70",num_zones_x_hours_over_70,"zones")
|
3106
|
+
runner.registerValue("num_zones_x_hours_over_55",num_zones_x_hours_over_55,"zones")
|
3107
|
+
|
3087
3108
|
end
|
3088
3109
|
else
|
3089
3110
|
runner.registerWarning('An annual simulation was not run. Cannot get annual timeseries data')
|
@@ -4649,4 +4670,86 @@ module OsLib_Reporting
|
|
4649
4670
|
|
4650
4671
|
return @schedules_overview_section
|
4651
4672
|
end
|
4652
|
-
|
4673
|
+
|
4674
|
+
# create measure_warning_section (creates tables and runner.registerValues)
|
4675
|
+
def self.measure_warning_section(model, sqlFile, runner, name_only = false, is_ip_units = true)
|
4676
|
+
# array to hold tables
|
4677
|
+
measure_tables = []
|
4678
|
+
|
4679
|
+
# gather data for section
|
4680
|
+
@measure_warnings_section = {}
|
4681
|
+
@measure_warnings_section[:title] = 'Measure Warnings'
|
4682
|
+
@measure_warnings_section[:tables] = measure_tables
|
4683
|
+
|
4684
|
+
# stop here if only name is requested this is used to populate display name for arguments
|
4685
|
+
if name_only == true
|
4686
|
+
return @measure_warnings_section
|
4687
|
+
end
|
4688
|
+
|
4689
|
+
# will be used for registerValues
|
4690
|
+
num_measures_with_warnings = 0
|
4691
|
+
num_warnings = 0
|
4692
|
+
num_measures = 0
|
4693
|
+
|
4694
|
+
# loop through workflow steps
|
4695
|
+
runner.workflow.workflowSteps.each do |step|
|
4696
|
+
if step.to_MeasureStep.is_initialized
|
4697
|
+
measure_step = step.to_MeasureStep.get
|
4698
|
+
measure_name = measure_step.measureDirName
|
4699
|
+
num_measures += 1
|
4700
|
+
if measure_step.name.is_initialized
|
4701
|
+
measure_name = measure_step.name.get # this is instance name in PAT
|
4702
|
+
end
|
4703
|
+
if measure_step.result.is_initialized
|
4704
|
+
result = measure_step.result.get
|
4705
|
+
# create and populate table if warnings exist
|
4706
|
+
if result.warnings.size > 0
|
4707
|
+
measure_table_01 = {}
|
4708
|
+
measure_table_01[:title] = measure_name
|
4709
|
+
measure_table_01[:header] = ['Warning']
|
4710
|
+
measure_table_01[:data] = []
|
4711
|
+
num_measures_with_warnings += 1
|
4712
|
+
|
4713
|
+
# step through warnings
|
4714
|
+
start_counter = num_warnings
|
4715
|
+
result.warnings.each do |step|
|
4716
|
+
# add rows to table and register value
|
4717
|
+
num_warnings += 1
|
4718
|
+
if num_warnings < start_counter + 25
|
4719
|
+
measure_table_01[:data] << [step.logMessage]
|
4720
|
+
else
|
4721
|
+
measure_table_01[:data] << ["* See OSW file for full list of warnings. This measure has #{result.warnings.size} warnings."]
|
4722
|
+
end
|
4723
|
+
end
|
4724
|
+
# add table to section
|
4725
|
+
measure_tables << measure_table_01
|
4726
|
+
end
|
4727
|
+
else
|
4728
|
+
# puts "No result for #{measure_name}"
|
4729
|
+
end
|
4730
|
+
else
|
4731
|
+
# puts "This step is not a measure"
|
4732
|
+
end
|
4733
|
+
end
|
4734
|
+
|
4735
|
+
# add summary table (even when there are no warnings)
|
4736
|
+
measure_table_summary = {}
|
4737
|
+
measure_table_summary[:title] = "Measure Warning Summary"
|
4738
|
+
measure_table_summary[:header] = ['Description','Count']
|
4739
|
+
measure_table_summary[:data] = []
|
4740
|
+
|
4741
|
+
# add summary rows
|
4742
|
+
measure_table_summary[:data] << ['Number of measures in workflow',num_measures]
|
4743
|
+
measure_table_summary[:data] << ['Number of measures with warnings',num_measures_with_warnings]
|
4744
|
+
measure_table_summary[:data] << ['Total number of warnings',num_warnings]
|
4745
|
+
|
4746
|
+
# add table to section
|
4747
|
+
measure_tables << measure_table_summary
|
4748
|
+
|
4749
|
+
runner.registerValue("number_of_measures_with_warnings", num_measures_with_warnings)
|
4750
|
+
runner.registerValue("number_warnings", num_warnings)
|
4751
|
+
|
4752
|
+
return @measure_warnings_section
|
4753
|
+
end
|
4754
|
+
|
4755
|
+
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# *******************************************************************************
|
2
4
|
# OpenStudio(R), Copyright (c) 2008-2020, Alliance for Sustainable Energy, LLC.
|
3
5
|
# All rights reserved.
|
@@ -56,17 +58,18 @@ module OpenStudio
|
|
56
58
|
##
|
57
59
|
# @param [String] dirname Directory to run commands in, defaults to Dir.pwd. If directory includes a Gemfile then create a local bundle.
|
58
60
|
# @param bundle_without [Hash] Hash describing the distribution of the variable.
|
59
|
-
# @param options [Hash] Hash describing options for running the simulation. These are the defaults for all runs unless overriden within the run_* methods.
|
61
|
+
# @param options [Hash] Hash describing options for running the simulation. These are the defaults for all runs unless overriden within the run_* methods. Note if options is used, then a local runner.conf file will not be loaded.
|
60
62
|
# @option options [String] :max_datapoints Max number of datapoints to run
|
61
63
|
# @option options [String] :num_parallel Number of simulations to run in parallel at a time
|
62
64
|
# @option options [String] :run_simulations Set to true to run the simulations
|
63
65
|
# @option options [String] :verbose Set to true to receive extra information while running simulations
|
64
66
|
def initialize(dirname = Dir.pwd, bundle_without = [], options = {})
|
65
67
|
# DLM: I am not sure if we want to use the main root directory to create these bundles
|
66
|
-
# had the idea of passing in a Gemfile name/alias and path to Gemfile, then doing the bundle
|
68
|
+
# had the idea of passing in a Gemfile name/alias and path to Gemfile, then doing the bundle
|
69
|
+
# in ~/OpenStudio/#{alias} or something like that?
|
67
70
|
|
68
71
|
# if the dirname contains a runner.conf file, then use the config file to specify the parameters
|
69
|
-
if File.exist?(File.join(dirname, OpenStudio::Extension::RunnerConfig::FILENAME)) &&
|
72
|
+
if File.exist?(File.join(dirname, OpenStudio::Extension::RunnerConfig::FILENAME)) && options.empty?
|
70
73
|
puts 'Using runner options from runner.conf file'
|
71
74
|
runner_config = OpenStudio::Extension::RunnerConfig.new(dirname)
|
72
75
|
@options = runner_config.options
|
@@ -562,14 +565,14 @@ module OpenStudio
|
|
562
565
|
Dir[path[:glob]].each do |file|
|
563
566
|
puts "Updating license in file #{file}"
|
564
567
|
f = File.read(file)
|
565
|
-
if f
|
568
|
+
if f.match?(path[:regex])
|
566
569
|
puts ' License found -- updating'
|
567
570
|
File.open(file, 'w') { |write| write << f.gsub(path[:regex], path[:license]) }
|
568
571
|
elsif f =~ /\(C\)/i || f =~ /\(Copyright\)/i
|
569
572
|
puts ' File already has copyright -- skipping'
|
570
573
|
else
|
571
574
|
puts ' No license found -- adding'
|
572
|
-
if f
|
575
|
+
if f.match?(/#!/)
|
573
576
|
puts ' CANNOT add license to file automatically, add it manually and it will update automatically in the future'
|
574
577
|
next
|
575
578
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# *******************************************************************************
|
2
4
|
# OpenStudio(R), Copyright (c) 2008-2020, Alliance for Sustainable Energy, LLC.
|
3
5
|
# All rights reserved.
|
@@ -38,7 +40,7 @@ require 'json'
|
|
38
40
|
module OpenStudio
|
39
41
|
module Extension
|
40
42
|
class RunnerConfig
|
41
|
-
FILENAME = 'runner.conf'
|
43
|
+
FILENAME = 'runner.conf'
|
42
44
|
|
43
45
|
##
|
44
46
|
# Class to store configuration of the runner options.
|
@@ -104,6 +106,19 @@ module OpenStudio
|
|
104
106
|
end
|
105
107
|
end
|
106
108
|
|
109
|
+
##
|
110
|
+
# Update a runner config value
|
111
|
+
#
|
112
|
+
# @param [String] key, The name of the key to update
|
113
|
+
# @param [Variant] new_value, The new value to set the `key` to.
|
114
|
+
def update_config(key, new_value)
|
115
|
+
if @data.key? key.to_sym
|
116
|
+
@data[key.to_sym] = new_value
|
117
|
+
else
|
118
|
+
raise "Could not find key '#{key}' to update in RunnerConfig."
|
119
|
+
end
|
120
|
+
end
|
121
|
+
|
107
122
|
##
|
108
123
|
# Return the options as hash
|
109
124
|
def options
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# *******************************************************************************
|
2
4
|
# OpenStudio(R), Copyright (c) 2008-2020, Alliance for Sustainable Energy, LLC.
|
3
5
|
# All rights reserved.
|
@@ -35,6 +37,6 @@
|
|
35
37
|
|
36
38
|
module OpenStudio
|
37
39
|
module Extension
|
38
|
-
VERSION = '0.2.
|
40
|
+
VERSION = '0.2.1'
|
39
41
|
end
|
40
42
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
lib = File.expand_path('lib', __dir__)
|
2
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
5
|
require 'openstudio/extension/version'
|
@@ -13,10 +15,10 @@ Gem::Specification.new do |spec|
|
|
13
15
|
spec.summary = 'openstudio base gem for creating generic extensions with encapsulated data and measures.'
|
14
16
|
spec.description = 'openstudio base gem for creating generic extensions with encapsulated data and measures.'
|
15
17
|
spec.metadata = {
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
18
|
+
'bug_tracker_uri' => 'https://github.com/NREL/openstudio-extension-gem/issues',
|
19
|
+
'changelog_uri' => 'https://github.com/NREL/openstudio-extension-gem/blob/develop/CHANGELOG.md',
|
20
|
+
# 'documentation_uri' => 'https://www.rubydoc.info/gems/openstudio-extension-gem/#{gem.version}',
|
21
|
+
'source_code_uri' => "https://github.com/NREL/openstudio-extension-gem/tree/v#{spec.version}"
|
20
22
|
}
|
21
23
|
|
22
24
|
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
@@ -29,12 +31,11 @@ Gem::Specification.new do |spec|
|
|
29
31
|
spec.required_ruby_version = '~> 2.5.0'
|
30
32
|
|
31
33
|
spec.add_dependency 'bundler', '~> 2.1'
|
32
|
-
spec.add_dependency 'openstudio-workflow', '~>
|
33
|
-
spec.add_dependency 'openstudio_measure_tester', '~> 0.2.
|
34
|
-
spec.add_dependency 'parallel', '~> 1.
|
34
|
+
spec.add_dependency 'openstudio-workflow', '~> 2.0.0'
|
35
|
+
spec.add_dependency 'openstudio_measure_tester', '~> 0.2.2'
|
36
|
+
spec.add_dependency 'parallel', '~> 1.19.1'
|
35
37
|
|
36
38
|
spec.add_development_dependency 'github_api', '~> 0.18.0'
|
37
|
-
spec.add_development_dependency 'rake', '~>
|
38
|
-
spec.add_development_dependency 'rspec', '~> 3.
|
39
|
-
spec.add_development_dependency 'rubocop', '~> 0.54.0'
|
39
|
+
spec.add_development_dependency 'rake', '~> 13.0'
|
40
|
+
spec.add_development_dependency 'rspec', '~> 3.9'
|
40
41
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: openstudio-extension
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Katherine Fleming
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: exe
|
12
12
|
cert_chain: []
|
13
|
-
date: 2020-
|
13
|
+
date: 2020-04-07 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: bundler
|
@@ -32,42 +32,42 @@ dependencies:
|
|
32
32
|
requirements:
|
33
33
|
- - "~>"
|
34
34
|
- !ruby/object:Gem::Version
|
35
|
-
version:
|
35
|
+
version: 2.0.0
|
36
36
|
type: :runtime
|
37
37
|
prerelease: false
|
38
38
|
version_requirements: !ruby/object:Gem::Requirement
|
39
39
|
requirements:
|
40
40
|
- - "~>"
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version:
|
42
|
+
version: 2.0.0
|
43
43
|
- !ruby/object:Gem::Dependency
|
44
44
|
name: openstudio_measure_tester
|
45
45
|
requirement: !ruby/object:Gem::Requirement
|
46
46
|
requirements:
|
47
47
|
- - "~>"
|
48
48
|
- !ruby/object:Gem::Version
|
49
|
-
version: 0.2.
|
49
|
+
version: 0.2.2
|
50
50
|
type: :runtime
|
51
51
|
prerelease: false
|
52
52
|
version_requirements: !ruby/object:Gem::Requirement
|
53
53
|
requirements:
|
54
54
|
- - "~>"
|
55
55
|
- !ruby/object:Gem::Version
|
56
|
-
version: 0.2.
|
56
|
+
version: 0.2.2
|
57
57
|
- !ruby/object:Gem::Dependency
|
58
58
|
name: parallel
|
59
59
|
requirement: !ruby/object:Gem::Requirement
|
60
60
|
requirements:
|
61
61
|
- - "~>"
|
62
62
|
- !ruby/object:Gem::Version
|
63
|
-
version: 1.
|
63
|
+
version: 1.19.1
|
64
64
|
type: :runtime
|
65
65
|
prerelease: false
|
66
66
|
version_requirements: !ruby/object:Gem::Requirement
|
67
67
|
requirements:
|
68
68
|
- - "~>"
|
69
69
|
- !ruby/object:Gem::Version
|
70
|
-
version: 1.
|
70
|
+
version: 1.19.1
|
71
71
|
- !ruby/object:Gem::Dependency
|
72
72
|
name: github_api
|
73
73
|
requirement: !ruby/object:Gem::Requirement
|
@@ -88,42 +88,28 @@ dependencies:
|
|
88
88
|
requirements:
|
89
89
|
- - "~>"
|
90
90
|
- !ruby/object:Gem::Version
|
91
|
-
version: '
|
91
|
+
version: '13.0'
|
92
92
|
type: :development
|
93
93
|
prerelease: false
|
94
94
|
version_requirements: !ruby/object:Gem::Requirement
|
95
95
|
requirements:
|
96
96
|
- - "~>"
|
97
97
|
- !ruby/object:Gem::Version
|
98
|
-
version: '
|
98
|
+
version: '13.0'
|
99
99
|
- !ruby/object:Gem::Dependency
|
100
100
|
name: rspec
|
101
101
|
requirement: !ruby/object:Gem::Requirement
|
102
102
|
requirements:
|
103
103
|
- - "~>"
|
104
104
|
- !ruby/object:Gem::Version
|
105
|
-
version: '3.
|
105
|
+
version: '3.9'
|
106
106
|
type: :development
|
107
107
|
prerelease: false
|
108
108
|
version_requirements: !ruby/object:Gem::Requirement
|
109
109
|
requirements:
|
110
110
|
- - "~>"
|
111
111
|
- !ruby/object:Gem::Version
|
112
|
-
version: '3.
|
113
|
-
- !ruby/object:Gem::Dependency
|
114
|
-
name: rubocop
|
115
|
-
requirement: !ruby/object:Gem::Requirement
|
116
|
-
requirements:
|
117
|
-
- - "~>"
|
118
|
-
- !ruby/object:Gem::Version
|
119
|
-
version: 0.54.0
|
120
|
-
type: :development
|
121
|
-
prerelease: false
|
122
|
-
version_requirements: !ruby/object:Gem::Requirement
|
123
|
-
requirements:
|
124
|
-
- - "~>"
|
125
|
-
- !ruby/object:Gem::Version
|
126
|
-
version: 0.54.0
|
112
|
+
version: '3.9'
|
127
113
|
description: openstudio base gem for creating generic extensions with encapsulated
|
128
114
|
data and measures.
|
129
115
|
email:
|
@@ -198,7 +184,6 @@ files:
|
|
198
184
|
- lib/openstudio/extension/core/check_weather_files.rb
|
199
185
|
- lib/openstudio/extension/core/deer_vintages.rb
|
200
186
|
- lib/openstudio/extension/core/os_lib_aedg_measures.rb
|
201
|
-
- lib/openstudio/extension/core/os_lib_cofee.rb
|
202
187
|
- lib/openstudio/extension/core/os_lib_constructions.rb
|
203
188
|
- lib/openstudio/extension/core/os_lib_geometry.rb
|
204
189
|
- lib/openstudio/extension/core/os_lib_helper_methods.rb
|
@@ -220,7 +205,7 @@ licenses: []
|
|
220
205
|
metadata:
|
221
206
|
bug_tracker_uri: https://github.com/NREL/openstudio-extension-gem/issues
|
222
207
|
changelog_uri: https://github.com/NREL/openstudio-extension-gem/blob/develop/CHANGELOG.md
|
223
|
-
source_code_uri: https://github.com/NREL/openstudio-extension-gem/tree/v0.2.
|
208
|
+
source_code_uri: https://github.com/NREL/openstudio-extension-gem/tree/v0.2.1
|
224
209
|
post_install_message:
|
225
210
|
rdoc_options: []
|
226
211
|
require_paths:
|
@@ -237,7 +222,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
237
222
|
version: '0'
|
238
223
|
requirements: []
|
239
224
|
rubyforge_project:
|
240
|
-
rubygems_version: 2.7.6
|
225
|
+
rubygems_version: 2.7.6.2
|
241
226
|
signing_key:
|
242
227
|
specification_version: 4
|
243
228
|
summary: openstudio base gem for creating generic extensions with encapsulated data
|