octokit 4.25.1 → 6.0.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.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +5 -4
  3. data/lib/octokit/client/actions_artifacts.rb +71 -0
  4. data/lib/octokit/client/actions_secrets.rb +3 -1
  5. data/lib/octokit/client/actions_workflow_jobs.rb +65 -0
  6. data/lib/octokit/client/actions_workflow_runs.rb +21 -3
  7. data/lib/octokit/client/actions_workflows.rb +25 -1
  8. data/lib/octokit/client/apps.rb +15 -15
  9. data/lib/octokit/client/community_profile.rb +0 -1
  10. data/lib/octokit/client/events.rb +0 -1
  11. data/lib/octokit/client/hooks.rb +0 -10
  12. data/lib/octokit/client/issues.rb +0 -1
  13. data/lib/octokit/client/licenses.rb +0 -3
  14. data/lib/octokit/client/oauth_applications.rb +0 -4
  15. data/lib/octokit/client/organizations.rb +41 -13
  16. data/lib/octokit/client/pages.rb +2 -4
  17. data/lib/octokit/client/projects.rb +26 -45
  18. data/lib/octokit/client/pub_sub_hubbub.rb +7 -7
  19. data/lib/octokit/client/pull_requests.rb +11 -0
  20. data/lib/octokit/client/reactions.rb +4 -9
  21. data/lib/octokit/client/refs.rb +1 -3
  22. data/lib/octokit/client/repositories.rb +13 -33
  23. data/lib/octokit/client/reviews.rb +2 -2
  24. data/lib/octokit/client/search.rb +14 -1
  25. data/lib/octokit/client/source_import.rb +3 -8
  26. data/lib/octokit/client/tokens.rb +31 -0
  27. data/lib/octokit/client/traffic.rb +4 -8
  28. data/lib/octokit/client/users.rb +0 -7
  29. data/lib/octokit/client.rb +6 -4
  30. data/lib/octokit/configurable.rb +2 -4
  31. data/lib/octokit/connection.rb +1 -1
  32. data/lib/octokit/default.rb +18 -18
  33. data/lib/octokit/error.rb +21 -14
  34. data/lib/octokit/middleware/follow_redirects.rb +1 -1
  35. data/lib/octokit/rate_limit.rb +1 -1
  36. data/lib/octokit/repository.rb +1 -0
  37. data/lib/octokit/version.rb +3 -3
  38. data/octokit.gemspec +1 -1
  39. metadata +10 -9
  40. data/lib/octokit/client/authorizations.rb +0 -185
  41. data/lib/octokit/preview.rb +0 -46
@@ -352,7 +352,6 @@ module Octokit
352
352
  # @client.start_migration(['octocat/hello-world'])
353
353
  # @see https://docs.github.com/en/rest/reference/migrations#start-a-user-migration
354
354
  def start_user_migration(repositories, options = {})
355
- options = ensure_api_media_type(:migrations, options)
356
355
  options[:repositories] = repositories
357
356
  post 'user/migrations', options
358
357
  end
@@ -364,7 +363,6 @@ module Octokit
364
363
  # @return [Array<Sawyer::Resource>] Array of migration resources.
365
364
  # @see https://docs.github.com/en/rest/reference/migrations#list-user-migrations
366
365
  def user_migrations(options = {})
367
- options = ensure_api_media_type(:migrations, options)
368
366
  paginate 'user/migrations', options
369
367
  end
370
368
 
@@ -375,7 +373,6 @@ module Octokit
375
373
  # @param id [Integer] ID number of the migration.
376
374
  # @see https://docs.github.com/en/rest/reference/migrations#get-a-user-migration-status
377
375
  def user_migration_status(id, options = {})
378
- options = ensure_api_media_type(:migrations, options)
379
376
  get "user/migrations/#{id}", options
380
377
  end
381
378
 
@@ -386,7 +383,6 @@ module Octokit
386
383
  # @param id [Integer] ID number of the migration.
387
384
  # @see https://docs.github.com/en/rest/reference/migrations#download-a-user-migration-archive
388
385
  def user_migration_archive_url(id, options = {})
389
- options = ensure_api_media_type(:migrations, options)
390
386
  url = "user/migrations/#{id}/archive"
391
387
 
392
388
  response = client_without_redirects(options).get(url)
@@ -400,7 +396,6 @@ module Octokit
400
396
  # @param id [Integer] ID number of the migration.
401
397
  # @see https://docs.github.com/en/rest/reference/migrations#delete-a-user-migration-archive
402
398
  def delete_user_migration_archive(id, options = {})
403
- options = ensure_api_media_type(:migrations, options)
404
399
  delete "user/migrations/#{id}/archive", options
405
400
  end
406
401
 
@@ -411,7 +406,6 @@ module Octokit
411
406
  # @param id [Integer] ID number of the migration.
412
407
  # @see https://docs.github.com/en/rest/reference/migrations#list-repositories-for-a-user-migration
413
408
  def user_migration_repositories(id, options = {})
414
- options = ensure_api_media_type(:migrations, options)
415
409
  get "user/migrations/#{id}/repositories", options
416
410
  end
417
411
 
@@ -423,7 +417,6 @@ module Octokit
423
417
  # @param repo [String] Name of the repository.
424
418
  # @see https://docs.github.com/en/rest/reference/migrations#unlock-a-user-repository
425
419
  def unlock_user_repository(id, repo, options = {})
426
- options = ensure_api_media_type(:migrations, options)
427
420
  delete "user/migrations/#{id}/repos/#{repo}/lock", options
428
421
  end
429
422
  end
@@ -11,12 +11,12 @@ require 'octokit/rate_limit'
11
11
  require 'octokit/repository'
12
12
  require 'octokit/user'
13
13
  require 'octokit/organization'
14
- require 'octokit/preview'
14
+ require 'octokit/client/actions_artifacts'
15
15
  require 'octokit/client/actions_secrets'
16
16
  require 'octokit/client/actions_workflows'
17
+ require 'octokit/client/actions_workflow_jobs'
17
18
  require 'octokit/client/actions_workflow_runs'
18
19
  require 'octokit/client/apps'
19
- require 'octokit/client/authorizations'
20
20
  require 'octokit/client/checks'
21
21
  require 'octokit/client/commits'
22
22
  require 'octokit/client/commit_comments'
@@ -61,6 +61,7 @@ require 'octokit/client/service_status'
61
61
  require 'octokit/client/source_import'
62
62
  require 'octokit/client/stats'
63
63
  require 'octokit/client/statuses'
64
+ require 'octokit/client/tokens'
64
65
  require 'octokit/client/traffic'
65
66
  require 'octokit/client/users'
66
67
  require 'ext/sawyer/relation'
@@ -73,10 +74,9 @@ module Octokit
73
74
  include Octokit::Authentication
74
75
  include Octokit::Configurable
75
76
  include Octokit::Connection
76
- include Octokit::Preview
77
77
  include Octokit::Warnable
78
+ include Octokit::Client::ActionsArtifacts
78
79
  include Octokit::Client::ActionsSecrets
79
- include Octokit::Client::Authorizations
80
80
  include Octokit::Client::Checks
81
81
  include Octokit::Client::Commits
82
82
  include Octokit::Client::CommitComments
@@ -93,6 +93,7 @@ module Octokit
93
93
  include Octokit::Client::Gitignore
94
94
  include Octokit::Client::Hooks
95
95
  include Octokit::Client::ActionsWorkflows
96
+ include Octokit::Client::ActionsWorkflowJobs
96
97
  include Octokit::Client::ActionsWorkflowRuns
97
98
  include Octokit::Client::Apps
98
99
  include Octokit::Client::Issues
@@ -124,6 +125,7 @@ module Octokit
124
125
  include Octokit::Client::SourceImport
125
126
  include Octokit::Client::Stats
126
127
  include Octokit::Client::Statuses
128
+ include Octokit::Client::Tokens
127
129
  include Octokit::Client::Traffic
128
130
  include Octokit::Client::Users
129
131
 
@@ -134,9 +134,7 @@ module Octokit
134
134
  end
135
135
 
136
136
  def login
137
- @login ||= begin
138
- user.login if token_authenticated?
139
- end
137
+ @login ||= (user.login if token_authenticated?)
140
138
  end
141
139
 
142
140
  def netrc?
@@ -146,7 +144,7 @@ module Octokit
146
144
  private
147
145
 
148
146
  def options
149
- Hash[Octokit::Configurable.keys.map { |key| [key, instance_variable_get(:"@#{key}")] }]
147
+ Octokit::Configurable.keys.map { |key| [key, instance_variable_get(:"@#{key}")] }.to_h
150
148
  end
151
149
 
152
150
  def fetch_client_id_and_secret(overrides = {})
@@ -201,7 +201,7 @@ module Octokit
201
201
  end
202
202
  query = options.delete(:query)
203
203
  opts = { query: options }
204
- opts[:query].merge!(query) if query&.is_a?(Hash)
204
+ opts[:query].merge!(query) if query.is_a?(Hash)
205
205
  opts[:headers] = headers unless headers.empty?
206
206
 
207
207
  opts
@@ -49,55 +49,55 @@ module Octokit
49
49
  # Configuration options
50
50
  # @return [Hash]
51
51
  def options
52
- Hash[Octokit::Configurable.keys.map { |key| [key, send(key)] }]
52
+ Octokit::Configurable.keys.map { |key| [key, send(key)] }.to_h
53
53
  end
54
54
 
55
55
  # Default access token from ENV
56
56
  # @return [String]
57
57
  def access_token
58
- ENV['OCTOKIT_ACCESS_TOKEN']
58
+ ENV.fetch('OCTOKIT_ACCESS_TOKEN', nil)
59
59
  end
60
60
 
61
61
  # Default API endpoint from ENV or {API_ENDPOINT}
62
62
  # @return [String]
63
63
  def api_endpoint
64
- ENV['OCTOKIT_API_ENDPOINT'] || API_ENDPOINT
64
+ ENV.fetch('OCTOKIT_API_ENDPOINT') { API_ENDPOINT }
65
65
  end
66
66
 
67
67
  # Default pagination preference from ENV
68
68
  # @return [String]
69
69
  def auto_paginate
70
- ENV['OCTOKIT_AUTO_PAGINATE']
70
+ ENV.fetch('OCTOKIT_AUTO_PAGINATE', nil)
71
71
  end
72
72
 
73
73
  # Default bearer token from ENV
74
74
  # @return [String]
75
75
  def bearer_token
76
- ENV['OCTOKIT_BEARER_TOKEN']
76
+ ENV.fetch('OCTOKIT_BEARER_TOKEN', nil)
77
77
  end
78
78
 
79
79
  # Default OAuth app key from ENV
80
80
  # @return [String]
81
81
  def client_id
82
- ENV['OCTOKIT_CLIENT_ID']
82
+ ENV.fetch('OCTOKIT_CLIENT_ID', nil)
83
83
  end
84
84
 
85
85
  # Default OAuth app secret from ENV
86
86
  # @return [String]
87
87
  def client_secret
88
- ENV['OCTOKIT_SECRET']
88
+ ENV.fetch('OCTOKIT_SECRET', nil)
89
89
  end
90
90
 
91
91
  # Default management console password from ENV
92
92
  # @return [String]
93
93
  def management_console_password
94
- ENV['OCTOKIT_ENTERPRISE_MANAGEMENT_CONSOLE_PASSWORD']
94
+ ENV.fetch('OCTOKIT_ENTERPRISE_MANAGEMENT_CONSOLE_PASSWORD', nil)
95
95
  end
96
96
 
97
97
  # Default management console endpoint from ENV
98
98
  # @return [String]
99
99
  def management_console_endpoint
100
- ENV['OCTOKIT_ENTERPRISE_MANAGEMENT_CONSOLE_ENDPOINT']
100
+ ENV.fetch('OCTOKIT_ENTERPRISE_MANAGEMENT_CONSOLE_ENDPOINT', nil)
101
101
  end
102
102
 
103
103
  # Default options for Faraday::Connection
@@ -114,13 +114,13 @@ module Octokit
114
114
  # Default media type from ENV or {MEDIA_TYPE}
115
115
  # @return [String]
116
116
  def default_media_type
117
- ENV['OCTOKIT_DEFAULT_MEDIA_TYPE'] || MEDIA_TYPE
117
+ ENV.fetch('OCTOKIT_DEFAULT_MEDIA_TYPE') { MEDIA_TYPE }
118
118
  end
119
119
 
120
120
  # Default GitHub username for Basic Auth from ENV
121
121
  # @return [String]
122
122
  def login
123
- ENV['OCTOKIT_LOGIN']
123
+ ENV.fetch('OCTOKIT_LOGIN', nil)
124
124
  end
125
125
 
126
126
  # Default middleware stack for Faraday::Connection
@@ -133,13 +133,13 @@ module Octokit
133
133
  # Default GitHub password for Basic Auth from ENV
134
134
  # @return [String]
135
135
  def password
136
- ENV['OCTOKIT_PASSWORD']
136
+ ENV.fetch('OCTOKIT_PASSWORD', nil)
137
137
  end
138
138
 
139
139
  # Default pagination page size from ENV
140
140
  # @return [Integer] Page size
141
141
  def per_page
142
- page_size = ENV['OCTOKIT_PER_PAGE']
142
+ page_size = ENV.fetch('OCTOKIT_PER_PAGE', nil)
143
143
 
144
144
  page_size&.to_i
145
145
  end
@@ -147,7 +147,7 @@ module Octokit
147
147
  # Default proxy server URI for Faraday connection from ENV
148
148
  # @return [String]
149
149
  def proxy
150
- ENV['OCTOKIT_PROXY']
150
+ ENV.fetch('OCTOKIT_PROXY', nil)
151
151
  end
152
152
 
153
153
  # Default SSL verify mode from ENV
@@ -162,25 +162,25 @@ module Octokit
162
162
  # Default User-Agent header string from ENV or {USER_AGENT}
163
163
  # @return [String]
164
164
  def user_agent
165
- ENV['OCTOKIT_USER_AGENT'] || USER_AGENT
165
+ ENV.fetch('OCTOKIT_USER_AGENT') { USER_AGENT }
166
166
  end
167
167
 
168
168
  # Default web endpoint from ENV or {WEB_ENDPOINT}
169
169
  # @return [String]
170
170
  def web_endpoint
171
- ENV['OCTOKIT_WEB_ENDPOINT'] || WEB_ENDPOINT
171
+ ENV.fetch('OCTOKIT_WEB_ENDPOINT') { WEB_ENDPOINT }
172
172
  end
173
173
 
174
174
  # Default behavior for reading .netrc file
175
175
  # @return [Boolean]
176
176
  def netrc
177
- ENV['OCTOKIT_NETRC'] || false
177
+ ENV.fetch('OCTOKIT_NETRC', false)
178
178
  end
179
179
 
180
180
  # Default path for .netrc file
181
181
  # @return [String]
182
182
  def netrc_file
183
- ENV['OCTOKIT_NETRC_FILE'] || File.join(ENV['HOME'].to_s, '.netrc')
183
+ ENV.fetch('OCTOKIT_NETRC_FILE') { File.join(Dir.home.to_s, '.netrc') }
184
184
  end
185
185
  end
186
186
  end
data/lib/octokit/error.rb CHANGED
@@ -4,6 +4,7 @@ module Octokit
4
4
  # Custom error class for rescuing from all GitHub errors
5
5
  class Error < StandardError
6
6
  attr_reader :context
7
+
7
8
  # Returns the appropriate Octokit::Error subclass based
8
9
  # on status and response message
9
10
  #
@@ -57,7 +58,9 @@ module Octokit
57
58
 
58
59
  # Returns most appropriate error for 401 HTTP status code
59
60
  # @private
61
+ # rubocop:disable Naming/VariableNumber
60
62
  def self.error_for_401(headers)
63
+ # rubocop:enbale Naming/VariableNumber
61
64
  if Octokit::OneTimePasswordRequired.required_header(headers)
62
65
  Octokit::OneTimePasswordRequired
63
66
  else
@@ -68,27 +71,27 @@ module Octokit
68
71
  # Returns most appropriate error for 403 HTTP status code
69
72
  # @private
70
73
  def self.error_for_403(body)
71
- if body =~ /rate limit exceeded/i
72
- Octokit::TooManyRequests
73
- elsif body =~ /exceeded a secondary rate limit/i
74
+ # rubocop:enable Naming/VariableNumber
75
+ case body
76
+ when /rate limit exceeded/i, /exceeded a secondary rate limit/i
74
77
  Octokit::TooManyRequests
75
- elsif body =~ /login attempts exceeded/i
78
+ when /login attempts exceeded/i
76
79
  Octokit::TooManyLoginAttempts
77
- elsif body =~ /returns blobs up to [0-9]+ MB/i
80
+ when /(returns|for) blobs (up to|between) [0-9\-]+ MB/i
78
81
  Octokit::TooLargeContent
79
- elsif body =~ /abuse/i
82
+ when /abuse/i
80
83
  Octokit::AbuseDetected
81
- elsif body =~ /repository access blocked/i
84
+ when /repository access blocked/i
82
85
  Octokit::RepositoryUnavailable
83
- elsif body =~ /email address must be verified/i
86
+ when /email address must be verified/i
84
87
  Octokit::UnverifiedEmail
85
- elsif body =~ /account was suspended/i
88
+ when /account was suspended/i
86
89
  Octokit::AccountSuspended
87
- elsif body =~ /billing issue/i
90
+ when /billing issue/i
88
91
  Octokit::BillingIssue
89
- elsif body =~ /Resource protected by organization SAML enforcement/i
92
+ when /Resource protected by organization SAML enforcement/i
90
93
  Octokit::SAMLProtected
91
- elsif body =~ /suspended your access|This installation has been suspended/i
94
+ when /suspended your access|This installation has been suspended/i
92
95
  Octokit::InstallationSuspended
93
96
  else
94
97
  Octokit::Forbidden
@@ -97,7 +100,9 @@ module Octokit
97
100
 
98
101
  # Return most appropriate error for 404 HTTP status code
99
102
  # @private
103
+ # rubocop:disable Naming/VariableNumber
100
104
  def self.error_for_404(body)
105
+ # rubocop:enable Naming/VariableNumber
101
106
  if body =~ /Branch not protected/i
102
107
  Octokit::BranchNotProtected
103
108
  else
@@ -107,7 +112,9 @@ module Octokit
107
112
 
108
113
  # Return most appropriate error for 422 HTTP status code
109
114
  # @private
115
+ # rubocop:disable Naming/VariableNumber
110
116
  def self.error_for_422(body)
117
+ # rubocop:enable Naming/VariableNumber
111
118
  if body =~ /PullRequestReviewComment/i && body =~ /(commit_id|end_commit_oid) is not part of the pull request/i
112
119
  Octokit::CommitIsNotPartOfPullRequest
113
120
  elsif body =~ /Path diff too large/i
@@ -120,7 +127,7 @@ module Octokit
120
127
  # Array of validation errors
121
128
  # @return [Array<Hash>] Error info
122
129
  def errors
123
- if data&.is_a?(Hash)
130
+ if data.is_a?(Hash)
124
131
  data[:errors] || []
125
132
  else
126
133
  []
@@ -196,7 +203,7 @@ module Octokit
196
203
  return nil if @response.nil?
197
204
 
198
205
  message = +"#{@response[:method].to_s.upcase} "
199
- message << redact_url(@response[:url].to_s.dup) + ': '
206
+ message << "#{redact_url(@response[:url].to_s.dup)}: "
200
207
  message << "#{@response[:status]} - "
201
208
  message << response_message.to_s unless response_message.nil?
202
209
  message << response_error.to_s unless response_error.nil?
@@ -127,7 +127,7 @@ module Octokit
127
127
  # risk double-escaping.
128
128
  def safe_escape(uri)
129
129
  uri.to_s.gsub(URI_UNSAFE) do |match|
130
- '%' + match.unpack('H2' * match.bytesize).join('%').upcase
130
+ "%#{match.unpack('H2' * match.bytesize).join('%').upcase}"
131
131
  end
132
132
  end
133
133
  end
@@ -20,7 +20,7 @@ module Octokit
20
20
  # @return [RateLimit]
21
21
  def self.from_response(response)
22
22
  info = new
23
- if response&.respond_to?(:headers) && !response.headers.nil?
23
+ if response.respond_to?(:headers) && !response.headers.nil?
24
24
  info.limit = (response.headers['X-RateLimit-Limit'] || 1).to_i
25
25
  info.remaining = (response.headers['X-RateLimit-Remaining'] || 1).to_i
26
26
  info.resets_at = Time.at((response.headers['X-RateLimit-Reset'] || Time.now).to_i)
@@ -5,6 +5,7 @@ module Octokit
5
5
  # URLs and to generate URLs
6
6
  class Repository
7
7
  attr_accessor :owner, :name, :id
8
+
8
9
  NAME_WITH_OWNER_PATTERN = %r{\A[\w.-]+/[\w.-]+\z}i.freeze
9
10
 
10
11
  # Instantiate from a GitHub repository URL
@@ -3,15 +3,15 @@
3
3
  module Octokit
4
4
  # Current major release.
5
5
  # @return [Integer]
6
- MAJOR = 4
6
+ MAJOR = 6
7
7
 
8
8
  # Current minor release.
9
9
  # @return [Integer]
10
- MINOR = 25
10
+ MINOR = 0
11
11
 
12
12
  # Current patch level.
13
13
  # @return [Integer]
14
- PATCH = 1
14
+ PATCH = 0
15
15
 
16
16
  # Full release version.
17
17
  # @return [String]
data/octokit.gemspec CHANGED
@@ -17,7 +17,7 @@ Gem::Specification.new do |spec|
17
17
  spec.licenses = ['MIT']
18
18
  spec.name = 'octokit'
19
19
  spec.require_paths = ['lib']
20
- spec.required_ruby_version = '>= 2.0.0'
20
+ spec.required_ruby_version = '>= 2.7.0'
21
21
  spec.required_rubygems_version = '>= 1.3.5'
22
22
  spec.summary = 'Ruby toolkit for working with the GitHub API'
23
23
  spec.version = Octokit::VERSION.dup
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: octokit
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.25.1
4
+ version: 6.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Wynn Netherland
8
8
  - Erik Michaels-Ober
9
9
  - Clint Shryock
10
- autorequire:
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2022-07-01 00:00:00.000000000 Z
13
+ date: 2022-10-20 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: bundler
@@ -85,11 +85,12 @@ files:
85
85
  - lib/octokit/arguments.rb
86
86
  - lib/octokit/authentication.rb
87
87
  - lib/octokit/client.rb
88
+ - lib/octokit/client/actions_artifacts.rb
88
89
  - lib/octokit/client/actions_secrets.rb
90
+ - lib/octokit/client/actions_workflow_jobs.rb
89
91
  - lib/octokit/client/actions_workflow_runs.rb
90
92
  - lib/octokit/client/actions_workflows.rb
91
93
  - lib/octokit/client/apps.rb
92
- - lib/octokit/client/authorizations.rb
93
94
  - lib/octokit/client/checks.rb
94
95
  - lib/octokit/client/commit_branches.rb
95
96
  - lib/octokit/client/commit_comments.rb
@@ -134,6 +135,7 @@ files:
134
135
  - lib/octokit/client/source_import.rb
135
136
  - lib/octokit/client/stats.rb
136
137
  - lib/octokit/client/statuses.rb
138
+ - lib/octokit/client/tokens.rb
137
139
  - lib/octokit/client/traffic.rb
138
140
  - lib/octokit/client/users.rb
139
141
  - lib/octokit/configurable.rb
@@ -151,7 +153,6 @@ files:
151
153
  - lib/octokit/gist.rb
152
154
  - lib/octokit/middleware/follow_redirects.rb
153
155
  - lib/octokit/organization.rb
154
- - lib/octokit/preview.rb
155
156
  - lib/octokit/rate_limit.rb
156
157
  - lib/octokit/repo_arguments.rb
157
158
  - lib/octokit/repository.rb
@@ -167,7 +168,7 @@ licenses:
167
168
  - MIT
168
169
  metadata:
169
170
  rubygems_mfa_required: 'true'
170
- post_install_message:
171
+ post_install_message:
171
172
  rdoc_options: []
172
173
  require_paths:
173
174
  - lib
@@ -175,15 +176,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
175
176
  requirements:
176
177
  - - ">="
177
178
  - !ruby/object:Gem::Version
178
- version: 2.0.0
179
+ version: 2.7.0
179
180
  required_rubygems_version: !ruby/object:Gem::Requirement
180
181
  requirements:
181
182
  - - ">="
182
183
  - !ruby/object:Gem::Version
183
184
  version: 1.3.5
184
185
  requirements: []
185
- rubygems_version: 3.3.7
186
- signing_key:
186
+ rubygems_version: 3.1.6
187
+ signing_key:
187
188
  specification_version: 4
188
189
  summary: Ruby toolkit for working with the GitHub API
189
190
  test_files: []