urbanopt-rnm-us 0.7.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bdb06b87fb503d6d05d2f413e69617e062dcbeeeb17f32a2b7b65644c2c99809
4
- data.tar.gz: 2a1b61684b10e2c788f43fc53efca58ed3f1f2d08c9f2cb7032f673406718428
3
+ metadata.gz: 42a2cce980c5faefca510e2feba608df318424607644c2ecb741f42b930d8156
4
+ data.tar.gz: 260f666795609f4a7917b95c918d3ae7a9f80ccfa23676a75cd1ba6dc30ac272
5
5
  SHA512:
6
- metadata.gz: 568d07b69a591176e090b6368298d4a19c2f3a75f7f5be9323bedbf41f9e9d40c7072b73871f4349d864bb8e45ab15af357024a819d593dc675ad2aa449a1863
7
- data.tar.gz: d6282dff725a18daf10fac2620ddd900e42d175cc403d73e05c2748aa49b0a31b7248177f694c516b35d07232cf82adce8ac44e2e7c479b035866d12120e0ece
6
+ metadata.gz: 8507af52564a7ebc113658108e3f1f6823274fe985d6a9e75ad955eae9fc5b290b7e0a44891d27eef1446308131c3dabc785be6cf2abfa37dce241be5e817c6e
7
+ data.tar.gz: e8789abea027a0c383ecf77ac7dddf78dab64a2e376d2e273fc1b5da363df9b378b09654126566b510a52c8f0c8ebdd194f728916a23a4ba69d711b4796abc7c
@@ -2,13 +2,12 @@
2
2
  name: RNM-gem CI
3
3
 
4
4
  on:
5
- # push:
5
+ push:
6
+ workflow_dispatch:
6
7
  schedule:
7
8
  # https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#schedule
8
9
  # 5:23 am UTC (11:23pm MDT the day before) every weekday night in MDT
9
10
  - cron: '23 5 * * 2-6'
10
- pull_request:
11
- types: [review_requested]
12
11
 
13
12
  env:
14
13
  # This env var should enforce develop branch of all dependencies
@@ -19,7 +18,7 @@ jobs:
19
18
  weeknight-tests:
20
19
  runs-on: ubuntu-latest
21
20
  container:
22
- image: docker://nrel/openstudio:3.7.0
21
+ image: docker://nrel/openstudio:3.10.0
23
22
  steps:
24
23
  - uses: actions/checkout@v4
25
24
  - name: set git config options
@@ -29,8 +28,8 @@ jobs:
29
28
  - name: Update gems
30
29
  run: |
31
30
  ruby --version
31
+ bundle install
32
32
  bundle update
33
- bundle exec certified-update
34
33
  - name: Run Rspec
35
34
  run: bundle exec rspec
36
35
  - name: Upload artifacts
data/CHANGELOG.md CHANGED
@@ -1,6 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## Version 1.1.0
4
+
5
+ * Upgrade to OpenStudio 3.10 by @vtnate in <https://github.com/urbanopt/urbanopt-rnm-us-gem/pull/43>
6
+
7
+ ## Version 1.0.0
8
+
9
+ Date Range 01/09/24 - 01/22/25
10
+
11
+ * Upgrade to OpenStudio 3.9 and Ruby 3.2.2 by @vtnate in https://github.com/urbanopt/urbanopt-rnm-us-gem/pull/40
12
+
13
+ **Full Changelog**: https://github.com/urbanopt/urbanopt-rnm-us-gem/compare/v0.7.0...v1.0.0
14
+
3
15
  ## Version 0.7.0
16
+
4
17
  Date Range 06/30/23 - 01/09/24
5
18
 
6
19
  * remove Jenkinsfile by @vtnate in https://github.com/urbanopt/urbanopt-rnm-us-gem/pull/34
@@ -10,61 +23,66 @@ Date Range 06/30/23 - 01/09/24
10
23
  **Full Changelog**: https://github.com/urbanopt/urbanopt-rnm-us-gem/compare/v0.6.0...v0.7.0
11
24
 
12
25
  ## Version 0.6.0
26
+
13
27
  Date Range: 6/7/23 - 6/30/23
14
28
 
15
- - Update dependencies & CI for OpenStudio 3.6.1
16
- - Update license and references to the license file
17
- - Remove unnecessary dev dependency on rubocop as rubocop comes in from other dependencies
18
- - Reactivate GitHub Actions for CI
29
+ * Update dependencies & CI for OpenStudio 3.6.1
30
+ * Update license and references to the license file
31
+ * Remove unnecessary dev dependency on rubocop as rubocop comes in from other dependencies
32
+ * Reactivate GitHub Actions for CI
19
33
 
20
34
  ## Version 0.5.1
35
+
21
36
  Date Range 12/9/22 - 6/7/23
22
37
 
23
- - Fix to handle buildings with courtyard without creating additional erroneous buildings
38
+ * Fix to handle buildings with courtyard without creating additional erroneous buildings
24
39
 
25
40
  ## Version 0.5.0
41
+
26
42
  Date Range 9/30/22 - 12/8/22
27
43
 
28
- - Update dependencies for Extension Gem 0.6.0 and OpenStudio 3.5.0
44
+ * Update dependencies for Extension Gem 0.6.0 and OpenStudio 3.5.0
29
45
 
30
46
  ## Version 0.4.0
47
+
31
48
  Date Range 05/10/22 - 9/30/22
32
49
 
33
- - Breaking changes to electrical catalog used and compatible RNM-US executable.
34
- - Update API to version 2. API v1 still working for older URBANopt SDK releases but no longer working for future versions.
50
+ * Breaking changes to electrical catalog used and compatible RNM-US executable.
51
+ * Update API to version 2. API v1 still working for older URBANopt SDK releases but no longer working for future versions.
35
52
 
36
53
  ## Version 0.3.0
54
+
37
55
  Date Range 11/23/21 - 05/10/22
38
56
 
39
- - Update copyrights
57
+ * Update copyrights
40
58
 
41
59
  ## Version 0.2.0
42
60
 
43
61
  Date Range 11/09/21 - 11/22/21
44
62
 
45
- - Updated dependencies for OpenStudio 3.3
63
+ * Updated dependencies for OpenStudio 3.3
46
64
 
47
65
  ## Version 0.1.3
48
66
 
49
67
  Date Range 11/02/21 - 11/08/21
50
68
 
51
- - Fix [#11](https://github.com/urbanopt/urbanopt-rnm-us-gem/issues/11), results files are not downloading in project directory for large projects
69
+ * Fix [#11](https://github.com/urbanopt/urbanopt-rnm-us-gem/issues/11), results files are not downloading in project directory for large projects
52
70
 
53
- - Fix [#16](https://github.com/urbanopt/urbanopt-rnm-us-gem/issues/16), fix residential enums to be consistent across files and fix typo in multifamily
71
+ * Fix [#16](https://github.com/urbanopt/urbanopt-rnm-us-gem/issues/16), fix residential enums to be consistent across files and fix typo in multifamily
54
72
 
55
73
  ## Version 0.1.2
56
74
 
57
75
  Date Range 10/29/21 - 11/01/21
58
76
 
59
- - Fix [#13](https://github.com/urbanopt/urbanopt-rnm-us-gem/issues/13), update rubyzip dependency to fix conflict
77
+ * Fix [#13](https://github.com/urbanopt/urbanopt-rnm-us-gem/issues/13), update rubyzip dependency to fix conflict
60
78
 
61
79
  ## Version 0.1.1
62
80
 
63
81
  Date Range 07/22/21 - 10/28/21
64
82
 
65
- - Fixed [#10]( https://github.com/urbanopt/urbanopt-rnm-us-gem/issues/7 ), Fix peak profile generation for prosumer profiles
66
- - Fixed [#8]( https://github.com/urbanopt/urbanopt-rnm-us-gem/issues/8 ), Use timestep_per_hour defined in UO feature report for the interval reporting
67
- - Fixed [#10]( https://github.com/urbanopt/urbanopt-rnm-us-gem/issues/10 ), Add other residential types to prosumer/consumer calculations
83
+ * Fixed [#10]( https://github.com/urbanopt/urbanopt-rnm-us-gem/issues/7 ), Fix peak profile generation for prosumer profiles
84
+ * Fixed [#8]( https://github.com/urbanopt/urbanopt-rnm-us-gem/issues/8 ), Use timestep_per_hour defined in UO feature report for the interval reporting
85
+ * Fixed [#10]( https://github.com/urbanopt/urbanopt-rnm-us-gem/issues/10 ), Add other residential types to prosumer/consumer calculations
68
86
 
69
87
  ## Version 0.1.0
70
88
 
data/Gemfile CHANGED
@@ -6,16 +6,14 @@ gemspec
6
6
  # if you want to use local gems during development, use this environment variable to enable them
7
7
  allow_local = ENV['FAVOR_LOCAL_GEMS']
8
8
 
9
- # pin this dependency to avoid unicode_normalize error
10
- gem 'addressable', '2.8.1'
11
- # pin this dependency to avoid using racc dependency (which has native extensions)
12
- gem 'parser', '3.2.2.2'
13
-
14
- # Below is an example of how to configure the gemfile for developing with local gems
15
- # modify as appropriate
9
+ # gem 'openstudio-extension', github: 'NREL/openstudio-extension-gem', branch: 'faraday'
10
+ # gem 'openstudio-extension', '~> 0.9.3'
16
11
 
17
12
  # if allow_local && File.exists?('../urbanopt-geojson-gem')
18
- # gem 'urbanopt-geojson', path: '../urbanopt-geojson-gem'
13
+ # gem 'urbanopt-geojson', path: '../urbanopt-geojson-gem'
19
14
  # elsif allow_local
20
- # gem 'urbanopt-geojson', github: 'URBANopt/urbanopt-geojson-gem', branch: 'os37'
15
+ # gem 'urbanopt-geojson', github: 'URBANopt/urbanopt-geojson-gem', branch: 'faraday'
21
16
  # end
17
+
18
+ # Temporary! Remove this once core-gem is merged/released
19
+ # gem 'urbanopt-core', github: 'URBANopt/urbanopt-core-gem', branch: 'faraday'
data/LICENSE.md CHANGED
@@ -1,4 +1,4 @@
1
- URBANopt (tm), Copyright (c) 2019-2024, Alliance for Sustainable Energy, LLC, and other
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,
@@ -249,7 +249,7 @@ module URBANopt
249
249
 
250
250
  # check if zip is empty
251
251
  if Dir.empty? File.join(@rnm_dir, 'results')
252
- msg = "Error in simulation: Results.zip empty"
252
+ msg = 'Error in simulation: Results.zip empty'
253
253
  @@logger.error(msg)
254
254
  raise msg
255
255
  end
@@ -120,14 +120,14 @@ module URBANopt
120
120
 
121
121
  # method applying a similar concept of the Carson equation, but for obtaining the primitive potential coeff matrix
122
122
  # for obtaining the lines capacitance
123
- def get_primitive_potential_coeff_matrix(diamaters, images_matrix, dist_matrix)
123
+ def get_primitive_potential_coeff_matrix(diameters, images_matrix, dist_matrix)
124
124
  n_rows = images_matrix.length
125
125
  n_cols = images_matrix.length
126
126
  primitive_potential_coeff_matrix = Array.new(n_rows) { Array.new(n_rows) }
127
127
  for i in 0..n_rows - 1
128
128
  for j in 0..n_cols - 1
129
129
  if i == j
130
- primitive_potential_coeff_matrix[i][j] = 11.17689 * Math.log(images_matrix[i][j] / (diamaters[i] / 2)) # assuming relative permittivity of air of 1.4240 x 10 mF/mile
130
+ primitive_potential_coeff_matrix[i][j] = 11.17689 * Math.log(images_matrix[i][j] / (diameters[i] / 2)) # assuming relative permittivity of air of 1.4240 x 10 mF/mile
131
131
  else
132
132
  primitive_potential_coeff_matrix[i][j] = 11.17689 * Math.log(images_matrix[i][j] / dist_matrix[i][j]) # assuming relative permittivity of air of 1.4240 x 10 mF/mile
133
133
  end
@@ -202,7 +202,7 @@ module URBANopt
202
202
  else # now computing the capacitance for UG concentric neutral power lines
203
203
  material_permettivity = 2.3 # assuming using the minimum permittivity value for "cross-linked polyethlyene", as the insulation material
204
204
  free_space_permittivity = 0.0142 # in microfaraday/mile
205
- radius = (wire_list.outside_diamater_neutral[0] - wire_list.diameter_n_strand[0]) / 2 # in mm
205
+ radius = (wire_list.outside_diameter_neutral[0] - wire_list.diameter_n_strand[0]) / 2 # in mm
206
206
  radius_ft = si_to_imperial_units(radius, 'mm', 'ft')
207
207
  radius_neutral_ft = si_to_imperial_units(wire_list.diameter_n_strand[0] / 2, 'mm', 'ft')
208
208
  radius_conductor_ft = diameters_conductors_ft[0] / 2
@@ -232,7 +232,7 @@ module URBANopt
232
232
  end
233
233
  if !wire_list.r_neutral[0].nil? # computing parameters for concentric neutrals wires
234
234
  for j in 0..conc_neutrals - 1
235
- radius = (wire_list.outside_diamater_neutral[j] - wire_list.diameter_n_strand[j]) / 2
235
+ radius = (wire_list.outside_diameter_neutral[j] - wire_list.diameter_n_strand[j]) / 2
236
236
  wire_list.gmr.push(wire_list.gmr_neutral[j] * wire_list.neutral_strands[j] * (radius**(wire_list.neutral_strands[j] - 1))**(1 / wire_list.neutral_strands[j]))
237
237
  wire_list.r.push(wire_list.r_neutral[j] / wire_list.neutral_strands[j])
238
238
  for k in 0..conc_neutrals - 1
@@ -299,7 +299,7 @@ module URBANopt
299
299
  wire_list.gmr_neutral.push(wires['WIRES CATALOG'][k]['gmr neutral (mm)'])
300
300
  wire_list.neutral_strands.push(wires['WIRES CATALOG'][k]['# concentric neutral strands'])
301
301
  wire_list.diameter_n_strand.push(wires['WIRES CATALOG'][k]['concentric diameter neutral strand (mm)'])
302
- wire_list.outside_diamater_neutral.push(wires['WIRES CATALOG'][k]['concentric neutral outside diameter (mm)'])
302
+ wire_list.outside_diameter_neutral.push(wires['WIRES CATALOG'][k]['concentric neutral outside diameter (mm)'])
303
303
  end
304
304
  end
305
305
  end
@@ -123,7 +123,7 @@ module URBANopt
123
123
  when @lv_limit[:single_phase]..@lv_limit[:three_phase] # defined from the catalog (from the wires)
124
124
  phases = 3
125
125
  voltage_default = 0.48
126
- # MV and 3 phases untill 16 MVA, defined by the SMART-DS project
126
+ # MV and 3 phases until 16 MVA, defined by the SMART-DS project
127
127
  when @lv_limit[:three_phase]..16000
128
128
  phases = 3
129
129
  voltage_default = 12.47
@@ -37,7 +37,7 @@ module URBANopt
37
37
  # creating variables for x, y for each node, with the right street inclination
38
38
  x_uniform = uniform_distance * (distance_x / distance)
39
39
  y_uniform = uniform_distance * (distance_y / distance)
40
- n = 1 # counter to keep track when the number of intervals for each "distnce" is reached
40
+ n = 1 # counter to keep track when the number of intervals for each "distance" is reached
41
41
  # creating nodes in the coordinates array with the right street inclination and uniform distance among each others
42
42
  while n <= intervals
43
43
  id = identifier.to_s + "_#{i}"
@@ -64,7 +64,7 @@ module URBANopt
64
64
  # and it returns the coordinates and id of the closest node of the building to the street
65
65
  ## The new algorithm developed calculates an approximate distance: (x+y)/2, of each building-node with each street-node and compares it with the "minimum_distance"
66
66
  # this approximate distance has been defined in order to be able to disregard all the distances which are greater than the "minimum distance" computed until that moment, without being required to compute the Pithagorean Theorem, which requires a long computational time.
67
- # Therefore (x+y)/2 has been computed knowing that: if the minimum length of the hypothenuse of a right triangle is when the triangle is isosceles so when the hyphothenuse (d) is equal to d = sqrt(2)*x (where x is the distance among the nodes on the x-axis),
67
+ # Therefore (x+y)/2 has been computed knowing that: if the minimum length of the hypotenuse of a right triangle is when the triangle is isosceles so when the hyphothenuse (d) is equal to d = sqrt(2)*x (where x is the distance among the nodes on the x-axis),
68
68
  # so we can assume that x = (x+y)/2, than if d = sqrt(2)*((x+y)/2) > (x+y)/2 > minimum_distance
69
69
  # than it confirmes that x and y can be disregarded and there is no need to compute the real distance for that node since the approximate distance value (which represents the minimum possible distance for the sum of those catheti)
70
70
  # is greater than the minimum_distance that it is been compared with.
@@ -82,7 +82,7 @@ module URBANopt
82
82
  distance = (x**2 + y**2)**0.5 # the real distance between the building node and the street node is computed
83
83
  if distance < dist_min # if the new distance is lower than the minimum distance found until that moment, than this new "distance" value will be set as the minimum distance between the building node and the street node
84
84
  dist_min = distance
85
- chosen_coord = building[j] # assigning the node coordinates values and id of the building with the minimium distance to the street to chose_coord variable
85
+ chosen_coord = building[j] # assigning the node coordinates values and id of the building with the minimum distance to the street to chose_coord variable
86
86
  end
87
87
  end
88
88
  end
@@ -91,7 +91,7 @@ module URBANopt
91
91
  end
92
92
 
93
93
  # defining a method for parsing the coordinates of the substations to be passed in the RNM-US model
94
- # choose the closes coord to the street or the one in the midle of the polygon since the sub is far away from district and streets
94
+ # choose the closes coord to the street or the one in the middle of the polygon since the sub is far away from district and streets
95
95
  def sub_coordinates(points_coord, id)
96
96
  x_utm = []
97
97
  y_utm = []
@@ -123,7 +123,7 @@ module URBANopt
123
123
  streets = geojson_hash
124
124
  puts "SCENARIO FEATURES: #{scenario_features}"
125
125
  # parsing the options defined by the user to run the RNM-US with a certain % of UG cables and designing the network with only LV nodes
126
- # to be consistent in case several case-studies are run to have an homogenous parameter on how to compare the same buildings with different energy consumption
126
+ # to be consistent in case several case-studies are run to have an homogeneous parameter on how to compare the same buildings with different energy consumption
127
127
  # Use defaults and warn user if these fields are unset
128
128
  if streets.key?('project') && streets['project'].key?('underground_cables_ratio')
129
129
  ug_ratio = streets['project']['underground_cables_ratio'].to_f
@@ -42,7 +42,7 @@ module URBANopt
42
42
  end
43
43
  end
44
44
 
45
- # finding the limits on LV defined by the equipments in the catalog
45
+ # finding the limits on LV defined by the equipment in the catalog
46
46
  def catalog_limits
47
47
  catalog = JSON.parse(File.read(@extended_catalog_path))
48
48
  limit = Hash.new(0)
@@ -9,7 +9,7 @@ module URBANopt
9
9
  module RNM
10
10
  @@logger = Logger.new($stdout)
11
11
 
12
- # Definining class variable "@@logger" to log errors, info and warning messages.
12
+ # Defining class variable "@@logger" to log errors, info and warning messages.
13
13
  def self.logger
14
14
  @@logger
15
15
  end
@@ -53,7 +53,7 @@ module URBANopt
53
53
  @av_height = (height_sum / (i + 1)).to_f.round(2)
54
54
  end
55
55
 
56
- # defining a method which defines the "threshold height", in an iterative way and adding 0.1m of height until the threhold limit is reached
56
+ # defining a method which defines the "threshold height", in an iterative way and adding 0.1m of height until the threshold limit is reached
57
57
  # when the % of streets in the district above the threshold is equal to the UG rate defined by the user
58
58
  def threshold_height(street_type, ug_ratio)
59
59
  h_threshold = 0
@@ -184,7 +184,7 @@ module URBANopt
184
184
  when @lv_limit[:single_phase]..@lv_limit[:three_phase] # defined from the catalog (from the wires)
185
185
  phases = 3
186
186
  voltage_default = 0.48
187
- # MV and 3 phases untill 16 MVA defined by SMART-DS project
187
+ # MV and 3 phases until 16 MVA defined by SMART-DS project
188
188
  when @lv_limit[:three_phase]..16000
189
189
  phases = 3
190
190
  voltage_default = 12.47
@@ -10,7 +10,7 @@ module URBANopt
10
10
  module RNM
11
11
  class PrimarySubstation
12
12
  # attr_accessor :x, :y, :id
13
- # choose the closest coord to the street or the one in the midle of the polygon since the sub is far away from district and streets
13
+ # choose the closest coord to the street or the one in the middle of the polygon since the sub is far away from district and streets
14
14
  def coordinates(points_coord, id)
15
15
  x_utm = []
16
16
  y_utm = []
@@ -5,6 +5,6 @@
5
5
 
6
6
  module URBANopt
7
7
  module RNM
8
- VERSION = '0.7.0'.freeze
8
+ VERSION = '1.1.0'.freeze
9
9
  end
10
10
  end
@@ -12,7 +12,7 @@ require 'matrix'
12
12
  module URBANopt
13
13
  module RNM
14
14
  class WiresExtendedCatalog
15
- attr_accessor :x, :height, :gmr, :r, :ampacity, :diameter, :phase, :name, :type, :r_neutral, :gmr_neutral, :neutral_strands, :diameter_n_strand, :outside_diamater_neutral
15
+ attr_accessor :x, :height, :gmr, :r, :ampacity, :diameter, :phase, :name, :type, :r_neutral, :gmr_neutral, :neutral_strands, :diameter_n_strand, :outside_diameter_neutral
16
16
 
17
17
  def initialize
18
18
  self.x = []
@@ -28,7 +28,7 @@ module URBANopt
28
28
  self.gmr_neutral = []
29
29
  self.neutral_strands = []
30
30
  self.diameter_n_strand = []
31
- self.outside_diamater_neutral = []
31
+ self.outside_diameter_neutral = []
32
32
  end
33
33
  end
34
34
  end
@@ -21,21 +21,20 @@ 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', 'catalogs']
24
- spec.required_ruby_version = '~> 2.7.0'
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_dependency 'certified', '~> 1'
27
- spec.add_dependency 'faraday', '~> 1.0.1'
28
28
  spec.add_dependency 'geoutm', '~> 1.0.2'
29
+ # Matrix is in stdlib; needs to be specifically added here for compatibility with Ruby 3.2
30
+ spec.add_dependency 'matrix', '~> 0.4.2'
29
31
  spec.add_dependency 'rubyzip', '~> 2.3.2'
30
- spec.add_dependency 'urbanopt-geojson', '~> 0.11.1'
32
+ spec.add_dependency 'urbanopt-geojson', '~> 1.1.0'
31
33
 
32
- spec.add_development_dependency 'bundler', '~> 2.1'
33
- spec.add_development_dependency 'rake', '~> 13.1'
34
- spec.add_development_dependency 'rspec', '~> 3.12'
35
- # pin this dependency:
36
- spec.add_development_dependency 'parallel', '~> 1.19.1'
37
- spec.add_development_dependency 'rubocop-checkstyle_formatter', '~> 0.4.0'
38
- spec.add_development_dependency 'rubocop-performance', '~> 1.11.3'
39
- spec.add_development_dependency 'simplecov', '~> 0.18.2'
34
+ spec.add_development_dependency 'rake', '~> 13.0'
35
+ spec.add_development_dependency 'rspec', '~> 3.9'
36
+ spec.add_development_dependency 'rubocop', '~> 1.50'
37
+ spec.add_development_dependency 'rubocop-performance', '~> 1.20'
38
+ spec.add_development_dependency 'simplecov', '~> 0.22.0'
40
39
  spec.add_development_dependency 'simplecov-lcov', '~> 0.8.0'
41
40
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: urbanopt-rnm-us
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Katherine Fleming
@@ -9,50 +9,36 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2024-01-10 00:00:00.000000000 Z
12
+ date: 2025-10-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: certified
16
- requirement: !ruby/object:Gem::Requirement
17
- requirements:
18
- - - "~>"
19
- - !ruby/object:Gem::Version
20
- version: '1'
21
- type: :runtime
22
- prerelease: false
23
- version_requirements: !ruby/object:Gem::Requirement
24
- requirements:
25
- - - "~>"
26
- - !ruby/object:Gem::Version
27
- version: '1'
28
- - !ruby/object:Gem::Dependency
29
- name: faraday
15
+ name: geoutm
30
16
  requirement: !ruby/object:Gem::Requirement
31
17
  requirements:
32
18
  - - "~>"
33
19
  - !ruby/object:Gem::Version
34
- version: 1.0.1
20
+ version: 1.0.2
35
21
  type: :runtime
36
22
  prerelease: false
37
23
  version_requirements: !ruby/object:Gem::Requirement
38
24
  requirements:
39
25
  - - "~>"
40
26
  - !ruby/object:Gem::Version
41
- version: 1.0.1
27
+ version: 1.0.2
42
28
  - !ruby/object:Gem::Dependency
43
- name: geoutm
29
+ name: matrix
44
30
  requirement: !ruby/object:Gem::Requirement
45
31
  requirements:
46
32
  - - "~>"
47
33
  - !ruby/object:Gem::Version
48
- version: 1.0.2
34
+ version: 0.4.2
49
35
  type: :runtime
50
36
  prerelease: false
51
37
  version_requirements: !ruby/object:Gem::Requirement
52
38
  requirements:
53
39
  - - "~>"
54
40
  - !ruby/object:Gem::Version
55
- version: 1.0.2
41
+ version: 0.4.2
56
42
  - !ruby/object:Gem::Dependency
57
43
  name: rubyzip
58
44
  requirement: !ruby/object:Gem::Requirement
@@ -73,112 +59,84 @@ dependencies:
73
59
  requirements:
74
60
  - - "~>"
75
61
  - !ruby/object:Gem::Version
76
- version: 0.11.1
62
+ version: 1.1.0
77
63
  type: :runtime
78
64
  prerelease: false
79
65
  version_requirements: !ruby/object:Gem::Requirement
80
66
  requirements:
81
67
  - - "~>"
82
68
  - !ruby/object:Gem::Version
83
- version: 0.11.1
84
- - !ruby/object:Gem::Dependency
85
- name: bundler
86
- requirement: !ruby/object:Gem::Requirement
87
- requirements:
88
- - - "~>"
89
- - !ruby/object:Gem::Version
90
- version: '2.1'
91
- type: :development
92
- prerelease: false
93
- version_requirements: !ruby/object:Gem::Requirement
94
- requirements:
95
- - - "~>"
96
- - !ruby/object:Gem::Version
97
- version: '2.1'
69
+ version: 1.1.0
98
70
  - !ruby/object:Gem::Dependency
99
71
  name: rake
100
72
  requirement: !ruby/object:Gem::Requirement
101
73
  requirements:
102
74
  - - "~>"
103
75
  - !ruby/object:Gem::Version
104
- version: '13.1'
76
+ version: '13.0'
105
77
  type: :development
106
78
  prerelease: false
107
79
  version_requirements: !ruby/object:Gem::Requirement
108
80
  requirements:
109
81
  - - "~>"
110
82
  - !ruby/object:Gem::Version
111
- version: '13.1'
83
+ version: '13.0'
112
84
  - !ruby/object:Gem::Dependency
113
85
  name: rspec
114
86
  requirement: !ruby/object:Gem::Requirement
115
87
  requirements:
116
88
  - - "~>"
117
89
  - !ruby/object:Gem::Version
118
- version: '3.12'
119
- type: :development
120
- prerelease: false
121
- version_requirements: !ruby/object:Gem::Requirement
122
- requirements:
123
- - - "~>"
124
- - !ruby/object:Gem::Version
125
- version: '3.12'
126
- - !ruby/object:Gem::Dependency
127
- name: parallel
128
- requirement: !ruby/object:Gem::Requirement
129
- requirements:
130
- - - "~>"
131
- - !ruby/object:Gem::Version
132
- version: 1.19.1
90
+ version: '3.9'
133
91
  type: :development
134
92
  prerelease: false
135
93
  version_requirements: !ruby/object:Gem::Requirement
136
94
  requirements:
137
95
  - - "~>"
138
96
  - !ruby/object:Gem::Version
139
- version: 1.19.1
97
+ version: '3.9'
140
98
  - !ruby/object:Gem::Dependency
141
- name: rubocop-checkstyle_formatter
99
+ name: rubocop
142
100
  requirement: !ruby/object:Gem::Requirement
143
101
  requirements:
144
102
  - - "~>"
145
103
  - !ruby/object:Gem::Version
146
- version: 0.4.0
104
+ version: '1.50'
147
105
  type: :development
148
106
  prerelease: false
149
107
  version_requirements: !ruby/object:Gem::Requirement
150
108
  requirements:
151
109
  - - "~>"
152
110
  - !ruby/object:Gem::Version
153
- version: 0.4.0
111
+ version: '1.50'
154
112
  - !ruby/object:Gem::Dependency
155
113
  name: rubocop-performance
156
114
  requirement: !ruby/object:Gem::Requirement
157
115
  requirements:
158
116
  - - "~>"
159
117
  - !ruby/object:Gem::Version
160
- version: 1.11.3
118
+ version: '1.20'
161
119
  type: :development
162
120
  prerelease: false
163
121
  version_requirements: !ruby/object:Gem::Requirement
164
122
  requirements:
165
123
  - - "~>"
166
124
  - !ruby/object:Gem::Version
167
- version: 1.11.3
125
+ version: '1.20'
168
126
  - !ruby/object:Gem::Dependency
169
127
  name: simplecov
170
128
  requirement: !ruby/object:Gem::Requirement
171
129
  requirements:
172
130
  - - "~>"
173
131
  - !ruby/object:Gem::Version
174
- version: 0.18.2
132
+ version: 0.22.0
175
133
  type: :development
176
134
  prerelease: false
177
135
  version_requirements: !ruby/object:Gem::Requirement
178
136
  requirements:
179
137
  - - "~>"
180
138
  - !ruby/object:Gem::Version
181
- version: 0.18.2
139
+ version: 0.22.0
182
140
  - !ruby/object:Gem::Dependency
183
141
  name: simplecov-lcov
184
142
  requirement: !ruby/object:Gem::Requirement
@@ -252,16 +210,16 @@ require_paths:
252
210
  - catalogs
253
211
  required_ruby_version: !ruby/object:Gem::Requirement
254
212
  requirements:
255
- - - "~>"
213
+ - - '='
256
214
  - !ruby/object:Gem::Version
257
- version: 2.7.0
215
+ version: 3.2.2
258
216
  required_rubygems_version: !ruby/object:Gem::Requirement
259
217
  requirements:
260
218
  - - ">="
261
219
  - !ruby/object:Gem::Version
262
220
  version: '0'
263
221
  requirements: []
264
- rubygems_version: 3.1.4
222
+ rubygems_version: 3.4.10
265
223
  signing_key:
266
224
  specification_version: 4
267
225
  summary: Library to create input files for RNM-US