urbanopt-scenario 0.12.0 → 1.1.0
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/.github/workflows/nightly_ci_build.yml +6 -8
- data/CHANGELOG.md +18 -1
- data/Gemfile +29 -9
- data/LICENSE.md +1 -1
- data/README.md +2 -0
- data/doc_templates/LICENSE.md +1 -1
- data/doc_templates/copyright_erb.txt +1 -1
- data/lib/urbanopt/scenario/logger.rb +1 -1
- data/lib/urbanopt/scenario/scenario_base.rb +4 -4
- data/lib/urbanopt/scenario/scenario_csv.rb +19 -9
- data/lib/urbanopt/scenario/scenario_datapoint_base.rb +3 -3
- data/lib/urbanopt/scenario/scenario_runner_osw.rb +3 -6
- data/lib/urbanopt/scenario/simulation_dir_base.rb +2 -2
- data/lib/urbanopt/scenario/simulation_dir_osw.rb +1 -1
- data/lib/urbanopt/scenario/version.rb +1 -1
- data/urbanopt-scenario-gem.gemspec +11 -8
- metadata +36 -22
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fb8438d1b4ec917e0c998e5d8ada01d0040d8268012af476ca000cb7603055e0
|
4
|
+
data.tar.gz: d08b5de6d0dbf3a70ff391016de57a458cd5e91550d1ade6682f7894327043c6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f5dd1b7afbb5481eb03f3958c73ca154cf31dcf72794ea9f092b87a94691e3125891df3113a867d9b5f4655cb4bdf4f8342e9cdc2ad3683084cfd71c42cd0765
|
7
|
+
data.tar.gz: b7126c1a289768508f1537187a16695a23d8a21409fdabd6cce7dfc141f10833bf6162afa935cf09f47c2b27d2361eedba42d94acbb31696747fb5a25237c9d9
|
@@ -3,30 +3,28 @@ name: Scenario-gem CI
|
|
3
3
|
|
4
4
|
on:
|
5
5
|
workflow_dispatch:
|
6
|
-
|
6
|
+
push:
|
7
7
|
schedule:
|
8
8
|
# https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#schedule
|
9
9
|
# 5 am UTC (11pm MDT the day before) every weekday night in MDT
|
10
10
|
- cron: '21 5 * * 2-6'
|
11
|
-
pull_request:
|
12
|
-
types: [review_requested]
|
13
11
|
|
14
12
|
env:
|
15
|
-
# This env var
|
13
|
+
# This env var will enforce develop branch of all dependencies
|
16
14
|
FAVOR_LOCAL_GEMS: true
|
17
15
|
GEM_DEVELOPER_KEY: ${{ secrets.GEM_DEVELOPER_KEY }}
|
18
16
|
|
19
17
|
jobs:
|
20
18
|
weeknight-tests:
|
21
|
-
# ubuntu-latest works since https://github.com/rbenv/ruby-build/releases/tag/v20220710 (July 10, 2022)
|
22
|
-
# https://github.com/rbenv/ruby-build/discussions/1940
|
23
19
|
runs-on: ubuntu-latest
|
24
20
|
container:
|
25
|
-
image: docker://nrel/openstudio:3.
|
21
|
+
image: docker://nrel/openstudio:3.10.0
|
26
22
|
steps:
|
27
23
|
- uses: actions/checkout@v4
|
28
24
|
- name: Update gems
|
29
|
-
run:
|
25
|
+
run: |
|
26
|
+
bundle install
|
27
|
+
bundle update
|
30
28
|
- name: Run Rspec
|
31
29
|
run: bundle exec rspec
|
32
30
|
- name: Coveralls
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,22 @@
|
|
1
1
|
# URBANopt Scenario Gem
|
2
2
|
|
3
|
+
## Version 1.1.0
|
4
|
+
|
5
|
+
* Upgrade to OpenStudio 3.10 by @vtnate in <https://github.com/urbanopt/urbanopt-scenario-gem/pull/278>
|
6
|
+
|
7
|
+
## Version 1.0.0
|
8
|
+
|
9
|
+
Date Range: 05/06/24 - 01/23/25
|
10
|
+
|
11
|
+
* Upgrade to OpenStudio 3.9 and Ruby 3.2.2 by @vtnate in https://github.com/urbanopt/urbanopt-scenario-gem/pull/276
|
12
|
+
* Fixup openstudio-extension-gem sub bundle errors by @jmarrec in https://github.com/urbanopt/urbanopt-scenario-gem/pull/275
|
13
|
+
|
14
|
+
### New Contributors
|
15
|
+
|
16
|
+
* @jmarrec made their first contribution in https://github.com/urbanopt/urbanopt-scenario-gem/pull/275
|
17
|
+
|
18
|
+
**Full Changelog**: https://github.com/urbanopt/urbanopt-scenario-gem/compare/v0.12.0...v1.0.0
|
19
|
+
|
3
20
|
## Version 0.12.0
|
4
21
|
Date Range: 01/10/24 - 05/06/24
|
5
22
|
* Use new version of reporting-gem by @vtnate in https://github.com/urbanopt/urbanopt-scenario-gem/pull/271
|
@@ -194,7 +211,7 @@ Date Range: 01/15/20 - 03/30/20:
|
|
194
211
|
- Fixed [#83]( https://github.com/urbanopt/urbanopt-scenario-gem/pull/83 ), add multiple pV
|
195
212
|
- Fixed [#88]( https://github.com/urbanopt/urbanopt-scenario-gem/pull/88 ), add units to CSV reports
|
196
213
|
- Fixed [#89]( https://github.com/urbanopt/urbanopt-scenario-gem/pull/89 ), created Save feature report method
|
197
|
-
- Fixed [#91]( https://github.com/urbanopt/urbanopt-scenario-gem/pull/91 ), add
|
214
|
+
- Fixed [#91]( https://github.com/urbanopt/urbanopt-scenario-gem/pull/91 ), add total_construction_cost to reports
|
198
215
|
- Fixed [#95]( https://github.com/urbanopt/urbanopt-scenario-gem/issues/95 ), list datapoint failures
|
199
216
|
- Fixed [#98]( https://github.com/urbanopt/urbanopt-scenario-gem/pull/98 ), add power, net power, net energy and apparent power to timeseries results
|
200
217
|
- Fixed [#101]( https://github.com/urbanopt/urbanopt-scenario-gem/pull/101 ), fix for unit conversion when timeseries doe not exist
|
data/Gemfile
CHANGED
@@ -17,35 +17,55 @@ allow_local = ENV['FAVOR_LOCAL_GEMS']
|
|
17
17
|
# if allow_local && File.exist?('../OpenStudio-extension-gem')
|
18
18
|
# gem 'openstudio-extension', path: '../OpenStudio-extension-gem'
|
19
19
|
# elsif allow_local
|
20
|
-
#
|
20
|
+
# gem 'openstudio-extension', github: 'NREL/OpenStudio-extension-gem', branch: 'develop'
|
21
21
|
# end
|
22
22
|
|
23
23
|
# if allow_local && File.exist?('../urbanopt-core-gem')
|
24
|
-
#
|
24
|
+
# gem 'urbanopt-core', path: '../urbanopt-core-gem'
|
25
25
|
# elsif allow_local
|
26
|
-
#
|
26
|
+
# gem 'urbanopt-core', github: 'URBANopt/urbanopt-core-gem', branch: 'develop'
|
27
27
|
# end
|
28
28
|
|
29
29
|
# if allow_local && File.exist?('../openstudio-common-measures-gem')
|
30
|
-
#
|
30
|
+
# gem 'openstudio-common-measures', path: '../openstudio-common-measures-gem'
|
31
31
|
# elsif allow_local
|
32
|
-
#
|
32
|
+
# gem 'openstudio-common-measures', github: 'NREL/openstudio-common-measures-gem', branch: 'develop'
|
33
|
+
# else
|
34
|
+
# gem 'openstudio-common-measures', '~> 0.12.3'
|
35
|
+
# end
|
36
|
+
|
37
|
+
# if allow_local && File.exist?('../urbanopt-geojson-gem')
|
38
|
+
# gem 'urbanopt-geojson', path: '../urbanopt-geojson-gem'
|
39
|
+
# elsif allow_local
|
40
|
+
# gem 'urbanopt-geojson', github: 'URBANopt/urbanopt-geojson-gem', branch: 'develop'
|
41
|
+
# end
|
42
|
+
|
43
|
+
# if allow_local && File.exist?('../openstudio-standards-gem')
|
44
|
+
# gem 'openstudio-standards', path: '../openstudio-standards-gem'
|
45
|
+
# elsif allow_local
|
46
|
+
# gem 'openstudio-standards', github: 'NREL/openstudio-standards-gem', branch: 'develop'
|
47
|
+
# else
|
48
|
+
# gem 'openstudio-standards', '~> 0.8.2'
|
33
49
|
# end
|
34
50
|
|
35
51
|
# if allow_local && File.exist?('../openstudio-model-articulation-gem')
|
36
52
|
# gem 'openstudio-model-articulation', path: '../openstudio-model-articulation-gem'
|
37
53
|
# elsif allow_local
|
38
|
-
#
|
54
|
+
# gem 'openstudio-model-articulation', github: 'NREL/openstudio-model-articulation-gem', branch: 'develop'
|
55
|
+
# else
|
56
|
+
# gem 'openstudio-model-articulation', '~> 0.12.2'
|
39
57
|
# end
|
40
58
|
|
41
59
|
# if allow_local && File.exist?('../urbanopt-reporting-gem')
|
42
|
-
#
|
60
|
+
# gem 'urbanopt-reporting', path: '../urbanopt-reporting-gem'
|
43
61
|
# elsif allow_local
|
44
|
-
#
|
62
|
+
# gem 'urbanopt-reporting', github: 'URBANopt/urbanopt-reporting-gem', branch: 'develop'
|
45
63
|
# end
|
46
64
|
|
47
65
|
# if allow_local && File.exist?('../openstudio-load-flexibility-measures-gem')
|
48
66
|
# gem 'openstudio-load-flexibility-measures', path: '../openstudio-load-flexibility-measures-gem'
|
49
67
|
# elseif allow_local
|
50
|
-
#
|
68
|
+
# gem 'openstudio-load-flexibility-measures', github: 'NREL/openstudio-load-flexibility-measures-gem', branch: 'develop'
|
69
|
+
# else
|
70
|
+
# gem 'openstudio-load-flexibility-measures', '~> 0.11.1'
|
51
71
|
# end
|
data/LICENSE.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
URBANopt (tm), Copyright (c) 2019-
|
1
|
+
URBANopt (tm), Copyright (c) 2019-2025, Alliance for Sustainable Energy, LLC, and other
|
2
2
|
contributors. All rights reserved.
|
3
3
|
|
4
4
|
Redistribution and use in source and binary forms, with or without modification,
|
data/README.md
CHANGED
data/doc_templates/LICENSE.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
URBANopt (tm), Copyright (c) 2019-
|
1
|
+
URBANopt (tm), Copyright (c) 2019-2025, Alliance for Sustainable Energy, LLC, and other
|
2
2
|
contributors. All rights reserved.
|
3
3
|
|
4
4
|
Redistribution and use in source and binary forms, with or without modification,
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<%
|
2
2
|
# *********************************************************************************
|
3
|
-
# URBANopt (tm), Copyright (c) 2019-
|
3
|
+
# URBANopt (tm), Copyright (c) 2019-2025, Alliance for Sustainable Energy, LLC, and other
|
4
4
|
# contributors. All rights reserved.
|
5
5
|
|
6
6
|
# Redistribution and use in source and binary forms, with or without modification,
|
@@ -9,7 +9,7 @@ module URBANopt
|
|
9
9
|
module Scenario
|
10
10
|
@@logger = Logger.new($stdout)
|
11
11
|
|
12
|
-
#
|
12
|
+
# Defining class variable "@@logger" to log errors, info and warning messages.
|
13
13
|
def self.logger
|
14
14
|
@@logger
|
15
15
|
end
|
@@ -24,19 +24,19 @@ module URBANopt
|
|
24
24
|
|
25
25
|
##
|
26
26
|
# Name of the Scenario.
|
27
|
-
attr_reader :name
|
27
|
+
attr_reader :name # :nodoc:
|
28
28
|
|
29
29
|
##
|
30
30
|
# Root directory containing Gemfile.
|
31
|
-
attr_reader :root_dir
|
31
|
+
attr_reader :root_dir # :nodoc:
|
32
32
|
|
33
33
|
##
|
34
34
|
# Directory to run this Scenario.
|
35
|
-
attr_reader :run_dir
|
35
|
+
attr_reader :run_dir # :nodoc:
|
36
36
|
|
37
37
|
##
|
38
38
|
# An instance of +URBANopt::Core::FeatureFile+ associated with this Scenario.
|
39
|
-
attr_reader :feature_file
|
39
|
+
attr_reader :feature_file # :nodoc:
|
40
40
|
|
41
41
|
# An array of SimulationDirBase objects.
|
42
42
|
def simulation_dirs
|
@@ -37,32 +37,42 @@ module URBANopt
|
|
37
37
|
end
|
38
38
|
|
39
39
|
# Path to CSV file
|
40
|
-
attr_reader :csv_file
|
40
|
+
attr_reader :csv_file # :nodoc:
|
41
41
|
|
42
42
|
# Number of header rows to skip in CSV file
|
43
|
-
attr_reader :num_header_rows
|
43
|
+
attr_reader :num_header_rows # :nodoc:
|
44
44
|
|
45
45
|
# Directory containing all mapper class files
|
46
|
-
attr_reader :mapper_files_dir
|
46
|
+
attr_reader :mapper_files_dir # :nodoc:
|
47
47
|
|
48
48
|
# Require all simulation mappers in mapper_files_dir
|
49
49
|
def load_mapper_files
|
50
50
|
# loads default values from extension gem
|
51
|
-
options = OpenStudio::Extension::RunnerConfig.default_config
|
51
|
+
@options = OpenStudio::Extension::RunnerConfig.default_config(@root_dir)
|
52
52
|
# check if runner.conf file exists
|
53
53
|
if File.exist?(File.join(@root_dir, OpenStudio::Extension::RunnerConfig::FILENAME))
|
54
54
|
runner_config = OpenStudio::Extension::RunnerConfig.new(@root_dir)
|
55
|
-
# use the default values
|
56
|
-
|
55
|
+
# use the default values overridden with runner.conf values where not
|
56
|
+
# nil nor empty strings
|
57
|
+
@options = @options.merge(runner_config.options.reject { |k, v| v.nil? || (v.is_a?(String) && v === '') })
|
57
58
|
end
|
58
59
|
|
59
60
|
# bundle path is assigned from the runner.conf if it exists or is assigned in the root_dir
|
60
|
-
|
61
|
+
# if bundle install path is not provided or is empty, it will be placed in root_dir/.bundle/install, otherwise use the provided path
|
62
|
+
if !@options.key?(:bundle_install_path) || @options[:bundle_install_path] === ''
|
63
|
+
@options[:bundle_install_path] = File.join(@root_dir, '.bundle/install/')
|
64
|
+
else
|
65
|
+
@options[:bundle_install_path] = Pathname.new(@options[:bundle_install_path]).cleanpath.to_s
|
66
|
+
end
|
67
|
+
bundle_path = @options[:bundle_install_path]
|
68
|
+
|
69
|
+
puts "Bundle final path is set to: #{bundle_path}"
|
61
70
|
|
62
71
|
# checks if bundle path doesn't exist or is empty
|
63
72
|
if !Dir.exist?(bundle_path) || Dir.empty?(bundle_path)
|
64
|
-
|
65
|
-
|
73
|
+
Bundler.with_unbundled_env do
|
74
|
+
OpenStudio::Extension::Runner.new(@root_dir, [], @options)
|
75
|
+
end
|
66
76
|
end
|
67
77
|
|
68
78
|
# find all lib dirs in the bundle path and add them to the path
|
@@ -6,7 +6,7 @@
|
|
6
6
|
module URBANopt
|
7
7
|
module Scenario
|
8
8
|
class ScenarioDatapoint
|
9
|
-
attr_reader :scenario, :feature_id, :feature_name, :mapper_class, :feature
|
9
|
+
attr_reader :scenario, :feature_id, :feature_name, :mapper_class, :feature # :nodoc:#
|
10
10
|
|
11
11
|
##
|
12
12
|
# ScenarioDatapoint is an agnostic description of the simulation of a Feature in a Scenario
|
@@ -23,7 +23,7 @@ module URBANopt
|
|
23
23
|
@feature_name = feature_name
|
24
24
|
@feature = scenario.feature_file.get_feature_by_id(feature_id)
|
25
25
|
@mapper_class = mapper_class
|
26
|
-
end
|
26
|
+
end # :nodoc:
|
27
27
|
|
28
28
|
##
|
29
29
|
# Gets the type of a feature
|
@@ -89,7 +89,7 @@ module URBANopt
|
|
89
89
|
# rubocop: enable Style/EvalWithLocation #:nodoc:
|
90
90
|
|
91
91
|
##
|
92
|
-
# Return true if the datapoint is out of date, false otherwise. Non-
|
92
|
+
# Return true if the datapoint is out of date, false otherwise. Non-existent files are out of date.
|
93
93
|
##
|
94
94
|
# [return:] _Boolean_ - True if the datapoint is out of date, false otherwise.
|
95
95
|
def out_of_date?
|
@@ -46,11 +46,11 @@ module URBANopt
|
|
46
46
|
|
47
47
|
##
|
48
48
|
# Create and run all SimulationFileOSW for Scenario.
|
49
|
-
# A staged runner is
|
49
|
+
# A staged runner is implemented to run buildings, then transformers then district systems.
|
50
50
|
# - instantiate openstudio runner to run .osw files.
|
51
51
|
# - create simulation files for this scenario.
|
52
52
|
# - get feature_type value from in.osw files
|
53
|
-
# -
|
53
|
+
# - create 3 groups to store .osw files (+building_osws+ , +transformer_osws+ , +district_system_osws+)
|
54
54
|
# - add each osw file to its corresponding group id +simulation_dir+ is out_of_date
|
55
55
|
# - Run osw file groups in order and store simulation failure in a array.
|
56
56
|
##
|
@@ -78,7 +78,7 @@ module URBANopt
|
|
78
78
|
# end
|
79
79
|
# end
|
80
80
|
|
81
|
-
#
|
81
|
+
# create 3 groups to store .osw files (+building_osws+ , +transformer_osws+ , +district_system_osws+)
|
82
82
|
building_osws = []
|
83
83
|
transformer_osws = []
|
84
84
|
district_system_osws = []
|
@@ -120,15 +120,12 @@ module URBANopt
|
|
120
120
|
# run building_osws
|
121
121
|
# building_failures = runner.run_osws(building_osws, num_parallel = Extension::NUM_PARALLEL, max_to_run = Extension::MAX_DATAPOINTS)
|
122
122
|
building_failures = runner.run_osws(building_osws)
|
123
|
-
failures + building_failures
|
124
123
|
# run district_system_osws
|
125
124
|
# district_system_failures = runner.run_osws(district_system_osws, num_parallel = Extension::NUM_PARALLEL, max_to_run = Extension::MAX_DATAPOINTS)
|
126
125
|
district_system_failures = runner.run_osws(district_system_osws)
|
127
|
-
failures + district_system_failures
|
128
126
|
# run transformer_osws
|
129
127
|
# transformer_failures = runner.run_osws(transformer_osws, num_parallel = Extension::NUM_PARALLEL, max_to_run = Extension::MAX_DATAPOINTS)
|
130
128
|
transformer_failures = runner.run_osws(transformer_osws)
|
131
|
-
failures + transformer_failures
|
132
129
|
|
133
130
|
puts 'Done Running Scenario'
|
134
131
|
|
@@ -19,7 +19,7 @@ module URBANopt
|
|
19
19
|
@feature_names = feature_names
|
20
20
|
end
|
21
21
|
|
22
|
-
attr_reader :scenario, :features, :feature_names
|
22
|
+
attr_reader :scenario, :features, :feature_names # :nodoc: #:nodoc: #:nodoc:
|
23
23
|
|
24
24
|
##
|
25
25
|
# Return the directory that this simulation will run in
|
@@ -30,7 +30,7 @@ module URBANopt
|
|
30
30
|
|
31
31
|
##
|
32
32
|
# Return true if the simulation is out of date (input files newer than results), false otherwise.
|
33
|
-
# Non-
|
33
|
+
# Non-existent simulation input files are out of date.
|
34
34
|
##
|
35
35
|
def out_of_date?
|
36
36
|
raise 'out_of_date? is not implemented for SimulationFileBase, override in your class'
|
@@ -110,7 +110,7 @@ module URBANopt
|
|
110
110
|
|
111
111
|
##
|
112
112
|
# Return true if the simulation is out of date (input files newer than results), false otherwise.
|
113
|
-
# Non-
|
113
|
+
# Non-existent simulation input files are out of date.
|
114
114
|
##
|
115
115
|
def out_of_date?
|
116
116
|
if !File.exist?(run_dir)
|
@@ -21,14 +21,17 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.bindir = 'exe'
|
22
22
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
23
23
|
spec.require_paths = ['lib']
|
24
|
-
|
24
|
+
# We support exactly Ruby v3.2.2 because os-extension requires bundler==2.4.10 and that requires Ruby 3.2.2: https://stdgems.org/bundler/
|
25
|
+
# It would be nice to be able to use newer patches of Ruby 3.2, which would require os-extension to relax its dependency on bundler.
|
26
|
+
spec.required_ruby_version = '3.2.2'
|
25
27
|
|
26
|
-
spec.add_development_dependency '
|
27
|
-
spec.add_development_dependency '
|
28
|
-
spec.add_development_dependency '
|
29
|
-
spec.add_development_dependency '
|
28
|
+
spec.add_development_dependency 'rake', '~> 13.0'
|
29
|
+
spec.add_development_dependency 'rspec', '~> 3.9'
|
30
|
+
spec.add_development_dependency 'rubocop', '~> 1.50'
|
31
|
+
spec.add_development_dependency 'rubocop-performance', '~> 1.20'
|
32
|
+
spec.add_development_dependency 'simplecov', '~> 0.22.0'
|
30
33
|
spec.add_development_dependency 'simplecov-lcov', '~> 0.8.0'
|
31
|
-
spec.add_runtime_dependency 'sqlite3', '~>
|
32
|
-
spec.add_runtime_dependency 'urbanopt-core', '~>
|
33
|
-
spec.add_runtime_dependency 'urbanopt-reporting', '~>
|
34
|
+
spec.add_runtime_dependency 'sqlite3', '~> 2.0.0'
|
35
|
+
spec.add_runtime_dependency 'urbanopt-core', '~> 1.1.0'
|
36
|
+
spec.add_runtime_dependency 'urbanopt-reporting', '~> 1.1.0'
|
34
37
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: urbanopt-scenario
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rawad El Kontar
|
@@ -9,64 +9,78 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2025-10-06 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
|
-
name:
|
15
|
+
name: rake
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
18
|
- - "~>"
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: '
|
20
|
+
version: '13.0'
|
21
21
|
type: :development
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - "~>"
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version: '
|
27
|
+
version: '13.0'
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
|
-
name:
|
29
|
+
name: rspec
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
32
|
- - "~>"
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version: '
|
34
|
+
version: '3.9'
|
35
35
|
type: :development
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
39
|
- - "~>"
|
40
40
|
- !ruby/object:Gem::Version
|
41
|
-
version: '
|
41
|
+
version: '3.9'
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
|
-
name:
|
43
|
+
name: rubocop
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - "~>"
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: '1.50'
|
49
|
+
type: :development
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - "~>"
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '1.50'
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: rubocop-performance
|
44
58
|
requirement: !ruby/object:Gem::Requirement
|
45
59
|
requirements:
|
46
60
|
- - "~>"
|
47
61
|
- !ruby/object:Gem::Version
|
48
|
-
version: '
|
62
|
+
version: '1.20'
|
49
63
|
type: :development
|
50
64
|
prerelease: false
|
51
65
|
version_requirements: !ruby/object:Gem::Requirement
|
52
66
|
requirements:
|
53
67
|
- - "~>"
|
54
68
|
- !ruby/object:Gem::Version
|
55
|
-
version: '
|
69
|
+
version: '1.20'
|
56
70
|
- !ruby/object:Gem::Dependency
|
57
71
|
name: simplecov
|
58
72
|
requirement: !ruby/object:Gem::Requirement
|
59
73
|
requirements:
|
60
74
|
- - "~>"
|
61
75
|
- !ruby/object:Gem::Version
|
62
|
-
version: 0.
|
76
|
+
version: 0.22.0
|
63
77
|
type: :development
|
64
78
|
prerelease: false
|
65
79
|
version_requirements: !ruby/object:Gem::Requirement
|
66
80
|
requirements:
|
67
81
|
- - "~>"
|
68
82
|
- !ruby/object:Gem::Version
|
69
|
-
version: 0.
|
83
|
+
version: 0.22.0
|
70
84
|
- !ruby/object:Gem::Dependency
|
71
85
|
name: simplecov-lcov
|
72
86
|
requirement: !ruby/object:Gem::Requirement
|
@@ -87,42 +101,42 @@ dependencies:
|
|
87
101
|
requirements:
|
88
102
|
- - "~>"
|
89
103
|
- !ruby/object:Gem::Version
|
90
|
-
version:
|
104
|
+
version: 2.0.0
|
91
105
|
type: :runtime
|
92
106
|
prerelease: false
|
93
107
|
version_requirements: !ruby/object:Gem::Requirement
|
94
108
|
requirements:
|
95
109
|
- - "~>"
|
96
110
|
- !ruby/object:Gem::Version
|
97
|
-
version:
|
111
|
+
version: 2.0.0
|
98
112
|
- !ruby/object:Gem::Dependency
|
99
113
|
name: urbanopt-core
|
100
114
|
requirement: !ruby/object:Gem::Requirement
|
101
115
|
requirements:
|
102
116
|
- - "~>"
|
103
117
|
- !ruby/object:Gem::Version
|
104
|
-
version:
|
118
|
+
version: 1.1.0
|
105
119
|
type: :runtime
|
106
120
|
prerelease: false
|
107
121
|
version_requirements: !ruby/object:Gem::Requirement
|
108
122
|
requirements:
|
109
123
|
- - "~>"
|
110
124
|
- !ruby/object:Gem::Version
|
111
|
-
version:
|
125
|
+
version: 1.1.0
|
112
126
|
- !ruby/object:Gem::Dependency
|
113
127
|
name: urbanopt-reporting
|
114
128
|
requirement: !ruby/object:Gem::Requirement
|
115
129
|
requirements:
|
116
130
|
- - "~>"
|
117
131
|
- !ruby/object:Gem::Version
|
118
|
-
version:
|
132
|
+
version: 1.1.0
|
119
133
|
type: :runtime
|
120
134
|
prerelease: false
|
121
135
|
version_requirements: !ruby/object:Gem::Requirement
|
122
136
|
requirements:
|
123
137
|
- - "~>"
|
124
138
|
- !ruby/object:Gem::Version
|
125
|
-
version:
|
139
|
+
version: 1.1.0
|
126
140
|
description: Library to export data point OSW files from URBANopt Scenario CSV
|
127
141
|
email:
|
128
142
|
- rawad.elkontar@nrel.gov
|
@@ -194,16 +208,16 @@ require_paths:
|
|
194
208
|
- lib
|
195
209
|
required_ruby_version: !ruby/object:Gem::Requirement
|
196
210
|
requirements:
|
197
|
-
- -
|
211
|
+
- - '='
|
198
212
|
- !ruby/object:Gem::Version
|
199
|
-
version: 2.
|
213
|
+
version: 3.2.2
|
200
214
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
201
215
|
requirements:
|
202
216
|
- - ">="
|
203
217
|
- !ruby/object:Gem::Version
|
204
218
|
version: '0'
|
205
219
|
requirements: []
|
206
|
-
rubygems_version: 3.
|
220
|
+
rubygems_version: 3.4.10
|
207
221
|
signing_key:
|
208
222
|
specification_version: 4
|
209
223
|
summary: Library to export data point OSW files from URBANopt Scenario CSV
|