renuo-cli 3.1.7 → 4.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +4 -37
  3. data/.ruby-version +1 -1
  4. data/.semaphore/main-deploy.yml +1 -1
  5. data/.semaphore/semaphore.yml +2 -2
  6. data/.tool-versions +1 -0
  7. data/Gemfile +2 -0
  8. data/README.md +3 -3
  9. data/Rakefile +2 -0
  10. data/lib/renuo/cli/app/command_helper.rb +2 -0
  11. data/lib/renuo/cli/app/commit_leaderboard.rb +130 -0
  12. data/lib/renuo/cli/app/commit_leaderboard_sync.rb +107 -0
  13. data/lib/renuo/cli/app/configure_semaphore.rb +14 -6
  14. data/lib/renuo/cli/app/configure_sentry.rb +4 -4
  15. data/lib/renuo/cli/app/create_aws_project.rb +5 -3
  16. data/lib/renuo/cli/app/create_heroku_app.rb +3 -3
  17. data/lib/renuo/cli/app/create_new_logins.rb +2 -0
  18. data/lib/renuo/cli/app/create_slidev_presentation.rb +46 -0
  19. data/lib/renuo/cli/app/environments.rb +5 -3
  20. data/lib/renuo/cli/app/fetch_emails.rb +3 -1
  21. data/lib/renuo/cli/app/generate_password.rb +2 -0
  22. data/lib/renuo/cli/app/heroku_apps.rb +3 -3
  23. data/lib/renuo/cli/app/heroku_users.rb +3 -3
  24. data/lib/renuo/cli/app/list_large_git_files.rb +4 -2
  25. data/lib/renuo/cli/app/local_storage.rb +2 -0
  26. data/lib/renuo/cli/app/name_display.rb +7 -5
  27. data/lib/renuo/cli/app/package.json +14 -0
  28. data/lib/renuo/cli/app/redmine/csv_base_service.rb +4 -2
  29. data/lib/renuo/cli/app/redmine/issue.rb +2 -0
  30. data/lib/renuo/cli/app/release_project.rb +8 -4
  31. data/lib/renuo/cli/app/release_xing.rb +2 -0
  32. data/lib/renuo/cli/app/renuo_version.rb +6 -4
  33. data/lib/renuo/cli/app/services/cloudfront_config_service.rb +66 -67
  34. data/lib/renuo/cli/app/services/markdown_parser_service.rb +2 -0
  35. data/lib/renuo/cli/app/services/renuo_cli_config.rb +2 -0
  36. data/lib/renuo/cli/app/setup_uptimerobot.rb +1 -1
  37. data/lib/renuo/cli/app/templates/semaphore/semaphore-deploy.yml.erb +3 -3
  38. data/lib/renuo/cli/app/templates/semaphore/semaphore.yml.erb +38 -63
  39. data/lib/renuo/cli/app/templates/slidev/README.md.erb +11 -0
  40. data/lib/renuo/cli/app/templates/slidev/package.json.erb +16 -0
  41. data/lib/renuo/cli/app/toggl/detail.rb +2 -0
  42. data/lib/renuo/cli/app/toggl/time_entry.rb +2 -0
  43. data/lib/renuo/cli/app/toggl/user.rb +2 -0
  44. data/lib/renuo/cli/app/toggl/workspace.rb +2 -0
  45. data/lib/renuo/cli/app/toggl_redmine_comparator.rb +9 -5
  46. data/lib/renuo/cli/app/upgrade_laptop/upgrade_laptop_execution.rb +2 -0
  47. data/lib/renuo/cli/app/upgrade_laptop/upgrade_mac_os.rb +3 -1
  48. data/lib/renuo/cli/app/upgrade_laptop.rb +2 -0
  49. data/lib/renuo/cli/app/work.rb +3 -1
  50. data/lib/renuo/cli/version.rb +4 -2
  51. data/lib/renuo/cli.rb +78 -21
  52. data/renuo-cli.gemspec +12 -7
  53. metadata +39 -17
data/lib/renuo/cli.rb CHANGED
@@ -1,13 +1,17 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'renuo/cli/version'
2
4
  require 'rubygems'
3
5
  require 'gems'
4
6
  require 'colorize'
7
+ require 'tmpdir'
8
+ require 'net/http'
5
9
  require 'renuo/cli/app/services/renuo_cli_config'
6
10
  require 'renuo/cli/app/name_display'
7
11
  require 'renuo/cli/app/local_storage'
8
12
  require 'renuo/cli/app/list_large_git_files'
9
13
  require 'renuo/cli/app/generate_password'
10
- require 'renuo/cli/app/upgrade_laptop.rb'
14
+ require 'renuo/cli/app/upgrade_laptop'
11
15
  require 'renuo/cli/app/create_aws_project'
12
16
  require 'renuo/cli/app/create_heroku_app'
13
17
  require 'renuo/cli/app/configure_sentry'
@@ -21,7 +25,17 @@ require 'renuo/cli/app/release_xing'
21
25
  require 'renuo/cli/app/configure_semaphore'
22
26
  require 'renuo/cli/app/toggl_redmine_comparator'
23
27
  require 'renuo/cli/app/renuo_version'
28
+ require 'renuo/cli/app/create_slidev_presentation'
29
+ require 'renuo/cli/app/commit_leaderboard'
30
+ require 'renuo/cli/app/commit_leaderboard_sync'
31
+ require 'highline'
32
+
33
+ def agree(question)
34
+ question += ' [y/n]' if question
35
+ super
36
+ end
24
37
 
38
+ # rubocop:disable Metrics/AbcSize, Metrics/ClassLength, Metrics/MethodLength
25
39
  module Renuo
26
40
  class CLI
27
41
  def start
@@ -40,7 +54,7 @@ module Renuo
40
54
  abort('Good. Just do it yourself then...😒')
41
55
  end
42
56
 
43
- command 'display-name'.to_sym do |c|
57
+ command :'display-name' do |c|
44
58
  c.syntax = 'renuo display-name [options]'
45
59
  c.summary = 'Sets the name of a customer on the Renuo dashboard'
46
60
  c.description = 'Sets the name of a customer on the Renuo dashboard'
@@ -71,7 +85,7 @@ module Renuo
71
85
  c.summary = 'Lists the 5 largest files in a git repository. Warning: must be a bare checkout of the repo!'
72
86
  c.description = "Lists the 5 largest files in a git repository.\nWarning: must be a bare checkout of the repo!"
73
87
  c.example 'list the 5 largest git files of github.com/renuo/renuo-cli',
74
- 'git clone --bare git@github.com:renuo/renuo-cli.git && '\
88
+ 'git clone --bare git@github.com:renuo/renuo-cli.git && ' \
75
89
  'cd renuo-cli.git && renuo list-large-git-files'
76
90
  c.action do
77
91
  ListLargeGitFiles.new.run
@@ -138,12 +152,12 @@ module Renuo
138
152
  command 'work' do |c|
139
153
  c.syntax = 'renuo work'
140
154
  c.summary = 'A utility command to start working on a ticket.'
141
- c.description = 'When you start working on a feature, it will jump to the project folder, '\
142
- 'start a new feature with the ticket number,'\
143
- 'move the ticket in "In progress" state on Redmine and start Toggl with the '\
155
+ c.description = 'When you start working on a feature, it will jump to the project folder, ' \
156
+ 'start a new feature with the ticket number,' \
157
+ 'move the ticket in "In progress" state on Redmine and start Toggl with the ' \
144
158
  'ticket number or add the ticket number to the running one if there was none.'
145
159
  c.example 'renuo work start kinova 1234', 'start working on ticket 1234 on kinova project'
146
- c.action do|args|
160
+ c.action do |args|
147
161
  Work.new.run(args)
148
162
  end
149
163
  end
@@ -151,7 +165,7 @@ module Renuo
151
165
  command 'release' do |c|
152
166
  c.syntax = 'renuo release'
153
167
  c.summary = 'Release a projects state of develop (on github) to main in one command.'
154
- c.description = 'Creates a new release version of a project on main as either a Major, Minor, '\
168
+ c.description = 'Creates a new release version of a project on main as either a Major, Minor, ' \
155
169
  'Patch or Custom release based on the current state of develop on Github'
156
170
  c.example 'renuo release my-project minor', 'release a minor release of my-project'
157
171
  c.example 'renuo release my-project custom 2.5.0', 'release my-project as release 2.5.0'
@@ -174,8 +188,9 @@ module Renuo
174
188
  c.syntax = 'renuo configure-sentry [project-name] [SENTRY_DSN]'
175
189
  c.summary = 'Generates the script necessary to setup sentry on Heroku.'
176
190
  c.description = c.summary
177
- c.example 'renuo configure-sentry myproject https://randomkey@sentry.io/11223344', 'generates the command to configure sentry for myproject on Heroku'
178
- c.action do|args|
191
+ c.example 'renuo configure-sentry myproject https://randomkey@sentry.io/11223344',
192
+ 'generates the command to configure sentry for myproject on Heroku'
193
+ c.action do |args|
179
194
  ConfigureSentry.new.run(args)
180
195
  end
181
196
  end
@@ -205,9 +220,9 @@ module Renuo
205
220
  command 'setup-uptimerobot' do |c|
206
221
  c.syntax = 'renuo setup-uptimerobot'
207
222
  c.summary = 'Sets up uptimerobot for the given project'
208
- c.description = "The uptimerobot configuration is mandatory for most projects. "\
209
- "This command sets everything up and pauses the monitoring directly. Once the app is ready,"\
210
- " the monitoring should get started."
223
+ c.description = 'The uptimerobot configuration is mandatory for most projects. ' \
224
+ 'This command sets everything up and pauses the monitoring directly. Once the app is ready, ' \
225
+ 'the monitoring should get started.'
211
226
  c.example 'renuo setup-uptimerobot https://redmine.ch', 'Configures redmine monitoring on uptimerobot'
212
227
  c.action do |args|
213
228
  SetupUptimerobot.new(args).run
@@ -217,9 +232,9 @@ module Renuo
217
232
  command 'release-xing' do |c|
218
233
  c.syntax = 'renuo release-xing'
219
234
  c.summary = 'Release Xing to preview.'
220
- c.description = "Xing needs to be released manually. "\
221
- "You need a VPN connection open before runnign this command."
222
- c.action do |args|
235
+ c.description = 'Xing needs to be released manually. ' \
236
+ 'You need a VPN connection open before runnign this command.'
237
+ c.action do |_args|
223
238
  ReleaseXing.new.run
224
239
  end
225
240
  end
@@ -227,9 +242,9 @@ module Renuo
227
242
  command 'configure-semaphore' do |c|
228
243
  c.syntax = 'renuo configure-semaphore'
229
244
  c.summary = 'Adds standard semaphore configuration files to a project and creates the notifications'
230
- c.description = 'Run this command with a project, to add the semaphore configuration files '\
245
+ c.description = 'Run this command with a project, to add the semaphore configuration files ' \
231
246
  'and create notifications.'
232
- c.action do |args|
247
+ c.action do |_args|
233
248
  ConfigureSemaphore.new.call
234
249
  end
235
250
  end
@@ -237,12 +252,54 @@ module Renuo
237
252
  command 'toggl-redmine' do |c|
238
253
  c.syntax = 'renuo toggl-redmine'
239
254
  c.summary = 'Compares your time entries between Toggl and Redmine'
240
- c.description = 'This command extracts your time entries in Toggl and in Redmine and checks if they are'\
241
- ' consistant. It can help you in your time booking to find if you booked something wrong'
242
- c.action do |args|
255
+ c.description = 'This command extracts your time entries in Toggl and in Redmine and checks if they are ' \
256
+ 'consistant. It can help you in your time booking to find if you booked something wrong'
257
+ c.action do |_args|
243
258
  TogglRedmineComparator.call
244
259
  end
245
260
  end
261
+
262
+ command 'create-slidev-presentation' do |c|
263
+ c.syntax = 'renuo create-slidev-presentation [presentation-name]'
264
+ c.summary = 'Creates a new Slidev presentation with the Renuo theme'
265
+ c.description = 'Creates a new Slidev presentation with the Renuo theme'
266
+ c.action do |args|
267
+ CreateSlidevPresentation.new.run(args)
268
+ end
269
+ end
270
+
271
+ command 'commit-leaderboard-stage' do |c|
272
+ c.syntax = 'renuo commit-leaderboard-stage [username] [avatar-url] [queue-path]'
273
+ c.summary = 'Adds local commits to a local queue for the commit leaderboard'
274
+ c.description = <<~DESCRIPTION
275
+ Add post-commit hook to `git config core.hookspath` with the following contents:
276
+
277
+ #!/usr/bin/env sh
278
+ renuo commit-leaderboard-stage CuddlyBunion341 "https://avatars.githubusercontent.com/u/53896675?v=4" ~/.renuo-commit-leaderboard.json
279
+
280
+ # You can get the GitHub avatar url using `gh api user | jq .avatar_url`
281
+ DESCRIPTION
282
+
283
+ c.action do |args|
284
+ CommitLeaderboard.new.run(args)
285
+ end
286
+ end
287
+
288
+ command 'commit-leaderboard-sync' do |c|
289
+ c.syntax = 'renuo commit-leaderboard-sync [api-secret] [queue-path] [api-url]'
290
+ c.summary = 'Sends commits from the queue to the commit leaderboard'
291
+ c.description = <<~DESCRIPTION
292
+ Sends commits from the queue to the commit leaderboard
293
+ Add pre-push hook to `git config core.hookspath` with the following contents:
294
+
295
+ #/usr/bin/env sh
296
+ renuo commit-leaderboard-sync {SECRET} ~/.renuo-commit-leaderboard.json https://dashboard.renuo.ch/api/v1/commit_leaderboard
297
+ DESCRIPTION
298
+ c.action do |args|
299
+ CommitLeaderboardSync.new.run(args)
300
+ end
301
+ end
246
302
  end
247
303
  end
248
304
  end
305
+ # rubocop:enable Metrics/AbcSize, Metrics/ClassLength, Metrics/MethodLength
data/renuo-cli.gemspec CHANGED
@@ -1,6 +1,9 @@
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 'renuo/cli/version'
6
+
4
7
  # rubocop:disable Metrics/BlockLength
5
8
  Gem::Specification.new do |spec|
6
9
  spec.name = Renuo::Cli::NAME
@@ -16,8 +19,9 @@ Gem::Specification.new do |spec|
16
19
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
17
20
  spec.executables << 'renuo'
18
21
  spec.require_paths = ['lib']
22
+ spec.metadata['rubygems_mfa_required'] = 'true'
19
23
 
20
- spec.required_ruby_version = '>= 2.7.0'
24
+ spec.required_ruby_version = '>= 3.1.0'
21
25
 
22
26
  spec.add_dependency 'activeresource', '~> 5.1.0'
23
27
  spec.add_dependency 'colorize', '~> 0'
@@ -27,18 +31,19 @@ Gem::Specification.new do |spec|
27
31
  spec.add_dependency 'terminal-table'
28
32
 
29
33
  spec.add_development_dependency 'aruba', '~> 0.14.5'
30
- spec.add_development_dependency 'bundler', '~> 2.0'
34
+ spec.add_development_dependency 'bundler', '~> 2.5'
31
35
  spec.add_development_dependency 'byebug'
32
36
  spec.add_development_dependency 'cucumber', '~> 3.1'
33
37
  spec.add_development_dependency 'dotenv', '~> 2.7.2'
34
- spec.add_development_dependency 'mdl', '~> 0.4.0'
35
- spec.add_development_dependency 'pry', '~> 0.11.3'
38
+ spec.add_development_dependency 'mdl', '~> 0.13'
39
+ spec.add_development_dependency 'pry', '~> 0.14'
36
40
  spec.add_development_dependency 'rake', '~> 10.0'
41
+ spec.add_development_dependency 'renuocop'
37
42
  spec.add_development_dependency 'rspec', '~> 3.5'
38
- spec.add_development_dependency 'rubocop', '~> 1.2'
43
+ spec.add_development_dependency 'rubocop', '~> 1.62'
39
44
  spec.add_development_dependency 'simplecov'
40
45
  spec.add_development_dependency 'simplecov-console'
41
- spec.add_development_dependency 'vcr', '~> 4.0.0'
42
- spec.add_development_dependency 'webmock', '~> 3.5.1'
46
+ spec.add_development_dependency 'vcr', '~> 6.2'
47
+ spec.add_development_dependency 'webmock', '~> 3.23'
43
48
  end
44
49
  # rubocop:enable Metrics/BlockLength
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: renuo-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.7
4
+ version: 4.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Renuo AG
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-05-26 00:00:00.000000000 Z
11
+ date: 2024-06-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activeresource
@@ -114,14 +114,14 @@ dependencies:
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: '2.0'
117
+ version: '2.5'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: '2.0'
124
+ version: '2.5'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: byebug
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -170,28 +170,28 @@ dependencies:
170
170
  requirements:
171
171
  - - "~>"
172
172
  - !ruby/object:Gem::Version
173
- version: 0.4.0
173
+ version: '0.13'
174
174
  type: :development
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
178
  - - "~>"
179
179
  - !ruby/object:Gem::Version
180
- version: 0.4.0
180
+ version: '0.13'
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: pry
183
183
  requirement: !ruby/object:Gem::Requirement
184
184
  requirements:
185
185
  - - "~>"
186
186
  - !ruby/object:Gem::Version
187
- version: 0.11.3
187
+ version: '0.14'
188
188
  type: :development
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
192
  - - "~>"
193
193
  - !ruby/object:Gem::Version
194
- version: 0.11.3
194
+ version: '0.14'
195
195
  - !ruby/object:Gem::Dependency
196
196
  name: rake
197
197
  requirement: !ruby/object:Gem::Requirement
@@ -206,6 +206,20 @@ dependencies:
206
206
  - - "~>"
207
207
  - !ruby/object:Gem::Version
208
208
  version: '10.0'
209
+ - !ruby/object:Gem::Dependency
210
+ name: renuocop
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - ">="
214
+ - !ruby/object:Gem::Version
215
+ version: '0'
216
+ type: :development
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: '0'
209
223
  - !ruby/object:Gem::Dependency
210
224
  name: rspec
211
225
  requirement: !ruby/object:Gem::Requirement
@@ -226,14 +240,14 @@ dependencies:
226
240
  requirements:
227
241
  - - "~>"
228
242
  - !ruby/object:Gem::Version
229
- version: '1.2'
243
+ version: '1.62'
230
244
  type: :development
231
245
  prerelease: false
232
246
  version_requirements: !ruby/object:Gem::Requirement
233
247
  requirements:
234
248
  - - "~>"
235
249
  - !ruby/object:Gem::Version
236
- version: '1.2'
250
+ version: '1.62'
237
251
  - !ruby/object:Gem::Dependency
238
252
  name: simplecov
239
253
  requirement: !ruby/object:Gem::Requirement
@@ -268,28 +282,28 @@ dependencies:
268
282
  requirements:
269
283
  - - "~>"
270
284
  - !ruby/object:Gem::Version
271
- version: 4.0.0
285
+ version: '6.2'
272
286
  type: :development
273
287
  prerelease: false
274
288
  version_requirements: !ruby/object:Gem::Requirement
275
289
  requirements:
276
290
  - - "~>"
277
291
  - !ruby/object:Gem::Version
278
- version: 4.0.0
292
+ version: '6.2'
279
293
  - !ruby/object:Gem::Dependency
280
294
  name: webmock
281
295
  requirement: !ruby/object:Gem::Requirement
282
296
  requirements:
283
297
  - - "~>"
284
298
  - !ruby/object:Gem::Version
285
- version: 3.5.1
299
+ version: '3.23'
286
300
  type: :development
287
301
  prerelease: false
288
302
  version_requirements: !ruby/object:Gem::Requirement
289
303
  requirements:
290
304
  - - "~>"
291
305
  - !ruby/object:Gem::Version
292
- version: 3.5.1
306
+ version: '3.23'
293
307
  description: The Renuo CLI automates some commonly used workflows by providing a command
294
308
  line interface.
295
309
  email:
@@ -309,6 +323,7 @@ files:
309
323
  - ".semaphore/bin/cache_store"
310
324
  - ".semaphore/main-deploy.yml"
311
325
  - ".semaphore/semaphore.yml"
326
+ - ".tool-versions"
312
327
  - Gemfile
313
328
  - LICENSE.txt
314
329
  - README.md
@@ -320,11 +335,14 @@ files:
320
335
  - bin/setup
321
336
  - lib/renuo/cli.rb
322
337
  - lib/renuo/cli/app/command_helper.rb
338
+ - lib/renuo/cli/app/commit_leaderboard.rb
339
+ - lib/renuo/cli/app/commit_leaderboard_sync.rb
323
340
  - lib/renuo/cli/app/configure_semaphore.rb
324
341
  - lib/renuo/cli/app/configure_sentry.rb
325
342
  - lib/renuo/cli/app/create_aws_project.rb
326
343
  - lib/renuo/cli/app/create_heroku_app.rb
327
344
  - lib/renuo/cli/app/create_new_logins.rb
345
+ - lib/renuo/cli/app/create_slidev_presentation.rb
328
346
  - lib/renuo/cli/app/environments.rb
329
347
  - lib/renuo/cli/app/fetch_emails.rb
330
348
  - lib/renuo/cli/app/generate_password.rb
@@ -333,6 +351,7 @@ files:
333
351
  - lib/renuo/cli/app/list_large_git_files.rb
334
352
  - lib/renuo/cli/app/local_storage.rb
335
353
  - lib/renuo/cli/app/name_display.rb
354
+ - lib/renuo/cli/app/package.json
336
355
  - lib/renuo/cli/app/redmine/csv_base_service.rb
337
356
  - lib/renuo/cli/app/redmine/issue.rb
338
357
  - lib/renuo/cli/app/release_project.rb
@@ -346,6 +365,8 @@ files:
346
365
  - lib/renuo/cli/app/templates/semaphore/bin/cache_store.erb
347
366
  - lib/renuo/cli/app/templates/semaphore/semaphore-deploy.yml.erb
348
367
  - lib/renuo/cli/app/templates/semaphore/semaphore.yml.erb
368
+ - lib/renuo/cli/app/templates/slidev/README.md.erb
369
+ - lib/renuo/cli/app/templates/slidev/package.json.erb
349
370
  - lib/renuo/cli/app/toggl/detail.rb
350
371
  - lib/renuo/cli/app/toggl/time_entry.rb
351
372
  - lib/renuo/cli/app/toggl/user.rb
@@ -362,7 +383,8 @@ files:
362
383
  homepage: https://github.com/renuo/renuo-cli
363
384
  licenses:
364
385
  - MIT
365
- metadata: {}
386
+ metadata:
387
+ rubygems_mfa_required: 'true'
366
388
  post_install_message:
367
389
  rdoc_options: []
368
390
  require_paths:
@@ -371,14 +393,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
371
393
  requirements:
372
394
  - - ">="
373
395
  - !ruby/object:Gem::Version
374
- version: 2.7.0
396
+ version: 3.1.0
375
397
  required_rubygems_version: !ruby/object:Gem::Requirement
376
398
  requirements:
377
399
  - - ">="
378
400
  - !ruby/object:Gem::Version
379
401
  version: '0'
380
402
  requirements: []
381
- rubygems_version: 3.1.6
403
+ rubygems_version: 3.5.3
382
404
  signing_key:
383
405
  specification_version: 4
384
406
  summary: The Renuo CLI automates some common workflows.