octokit 4.24.0 → 5.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.
- checksums.yaml +4 -4
- data/README.md +3 -2
- data/Rakefile +5 -3
- data/lib/ext/sawyer/relation.rb +4 -2
- data/lib/octokit/arguments.rb +2 -2
- data/lib/octokit/authentication.rb +4 -5
- data/lib/octokit/client/actions_secrets.rb +2 -3
- data/lib/octokit/client/actions_workflow_runs.rb +2 -0
- data/lib/octokit/client/actions_workflows.rb +2 -1
- data/lib/octokit/client/apps.rb +26 -26
- data/lib/octokit/client/authorizations.rb +20 -17
- data/lib/octokit/client/checks.rb +5 -5
- data/lib/octokit/client/commit_branches.rb +2 -2
- data/lib/octokit/client/commit_comments.rb +8 -8
- data/lib/octokit/client/commit_pulls.rb +2 -2
- data/lib/octokit/client/commits.rb +25 -33
- data/lib/octokit/client/community_profile.rb +2 -2
- data/lib/octokit/client/contents.rb +20 -21
- data/lib/octokit/client/deployments.rb +6 -6
- data/lib/octokit/client/downloads.rb +5 -6
- data/lib/octokit/client/emojis.rb +3 -3
- data/lib/octokit/client/events.rb +4 -4
- data/lib/octokit/client/feeds.rb +4 -5
- data/lib/octokit/client/gists.rb +6 -6
- data/lib/octokit/client/gitignore.rb +3 -3
- data/lib/octokit/client/hooks.rb +10 -10
- data/lib/octokit/client/issues.rb +14 -14
- data/lib/octokit/client/labels.rb +6 -6
- data/lib/octokit/client/legacy_search.rb +3 -3
- data/lib/octokit/client/licenses.rb +3 -3
- data/lib/octokit/client/markdown.rb +3 -3
- data/lib/octokit/client/marketplace.rb +4 -4
- data/lib/octokit/client/meta.rb +4 -5
- data/lib/octokit/client/milestones.rb +5 -5
- data/lib/octokit/client/notifications.rb +6 -6
- data/lib/octokit/client/oauth_applications.rb +0 -2
- data/lib/octokit/client/objects.rb +14 -14
- data/lib/octokit/client/organizations.rb +42 -42
- data/lib/octokit/client/pages.rb +3 -3
- data/lib/octokit/client/projects.rb +18 -19
- data/lib/octokit/client/pub_sub_hubbub.rb +15 -15
- data/lib/octokit/client/pull_requests.rb +41 -42
- data/lib/octokit/client/rate_limit.rb +9 -11
- data/lib/octokit/client/reactions.rb +6 -6
- data/lib/octokit/client/refs.rb +13 -14
- data/lib/octokit/client/releases.rb +13 -13
- data/lib/octokit/client/repositories.rb +36 -36
- data/lib/octokit/client/repository_invitations.rb +3 -3
- data/lib/octokit/client/reviews.rb +7 -7
- data/lib/octokit/client/say.rb +4 -5
- data/lib/octokit/client/search.rb +9 -9
- data/lib/octokit/client/service_status.rb +2 -2
- data/lib/octokit/client/source_import.rb +6 -6
- data/lib/octokit/client/stats.rb +10 -9
- data/lib/octokit/client/statuses.rb +5 -5
- data/lib/octokit/client/traffic.rb +2 -3
- data/lib/octokit/client/users.rb +27 -26
- data/lib/octokit/client.rb +25 -11
- data/lib/octokit/configurable.rb +33 -27
- data/lib/octokit/connection.rb +19 -20
- data/lib/octokit/default.rb +16 -15
- data/lib/octokit/enterprise_admin_client/admin_stats.rb +13 -14
- data/lib/octokit/enterprise_admin_client/license.rb +3 -4
- data/lib/octokit/enterprise_admin_client/orgs.rb +3 -4
- data/lib/octokit/enterprise_admin_client/search_indexing.rb +7 -8
- data/lib/octokit/enterprise_admin_client/users.rb +5 -4
- data/lib/octokit/enterprise_admin_client.rb +9 -3
- data/lib/octokit/enterprise_management_console_client/management_console.rb +30 -30
- data/lib/octokit/enterprise_management_console_client.rb +8 -2
- data/lib/octokit/error.rb +23 -21
- data/lib/octokit/gist.rb +2 -3
- data/lib/octokit/middleware/follow_redirects.rb +12 -11
- data/lib/octokit/organization.rb +3 -1
- data/lib/octokit/preview.rb +29 -29
- data/lib/octokit/rate_limit.rb +3 -3
- data/lib/octokit/repo_arguments.rb +2 -3
- data/lib/octokit/repository.rb +23 -24
- data/lib/octokit/response/base_middleware.rb +2 -0
- data/lib/octokit/response/feed_parser.rb +3 -5
- data/lib/octokit/response/raise_error.rb +2 -2
- data/lib/octokit/user.rb +4 -2
- data/lib/octokit/version.rb +4 -2
- data/lib/octokit/warnable.rb +3 -6
- data/lib/octokit.rb +14 -6
- data/octokit.gemspec +11 -9
- metadata +23 -22
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'faraday'
|
2
4
|
require 'set'
|
3
5
|
|
@@ -7,9 +9,7 @@ require 'set'
|
|
7
9
|
# https://github.com/lostisland/faraday_middleware/blob/138766e/lib/faraday_middleware/response/follow_redirects.rb
|
8
10
|
|
9
11
|
module Octokit
|
10
|
-
|
11
12
|
module Middleware
|
12
|
-
|
13
13
|
# Public: Exception thrown when the maximum amount of requests is exceeded.
|
14
14
|
class RedirectLimitReached < Faraday::ClientError
|
15
15
|
attr_reader :response
|
@@ -30,13 +30,13 @@ module Octokit
|
|
30
30
|
# doesn't support parallelism.
|
31
31
|
class FollowRedirects < Faraday::Middleware
|
32
32
|
# HTTP methods for which 30x redirects can be followed
|
33
|
-
ALLOWED_METHODS = Set.new [
|
33
|
+
ALLOWED_METHODS = Set.new %i[head options get post put patch delete]
|
34
34
|
|
35
35
|
# HTTP redirect status codes that this middleware implements
|
36
36
|
REDIRECT_CODES = Set.new [301, 302, 303, 307]
|
37
37
|
|
38
38
|
# Keys in env hash which will get cleared between requests
|
39
|
-
ENV_TO_CLEAR = Set.new [
|
39
|
+
ENV_TO_CLEAR = Set.new %i[status response response_headers]
|
40
40
|
|
41
41
|
# Default value for max redirects followed
|
42
42
|
FOLLOW_LIMIT = 3
|
@@ -44,7 +44,7 @@ module Octokit
|
|
44
44
|
# Regex that matches characters that need to be escaped in URLs, sans
|
45
45
|
# the "%" character which we assume already represents an escaped
|
46
46
|
# sequence.
|
47
|
-
URI_UNSAFE =
|
47
|
+
URI_UNSAFE = %r{[^\-_.!~*'()a-zA-Z\d;/?:@&=+$,\[\]%]}.freeze
|
48
48
|
|
49
49
|
# Public: Initialize the middleware.
|
50
50
|
#
|
@@ -64,7 +64,7 @@ module Octokit
|
|
64
64
|
private
|
65
65
|
|
66
66
|
def convert_to_get?(response)
|
67
|
-
|
67
|
+
!%i[head options].include?(response.env[:method]) &&
|
68
68
|
@convert_to_get.include?(response.status)
|
69
69
|
end
|
70
70
|
|
@@ -75,6 +75,7 @@ module Octokit
|
|
75
75
|
response.on_complete do |response_env|
|
76
76
|
if follow_redirect?(response_env, response)
|
77
77
|
raise(RedirectLimitReached, response) if follows.zero?
|
78
|
+
|
78
79
|
new_request_env = update_env(response_env, request_body, response)
|
79
80
|
response = perform_with_redirection(new_request_env, follows - 1)
|
80
81
|
end
|
@@ -84,12 +85,12 @@ module Octokit
|
|
84
85
|
|
85
86
|
def update_env(env, request_body, response)
|
86
87
|
original_url = env[:url]
|
87
|
-
env[:url] += safe_escape(response[
|
88
|
+
env[:url] += safe_escape(response['location'])
|
88
89
|
unless same_host?(original_url, env[:url])
|
89
90
|
# HACK: Faraday’s Authorization middlewares don’t touch the request if the `Authorization` header is set.
|
90
91
|
# This is a workaround to drop authentication info.
|
91
92
|
# See https://github.com/octokit/octokit.rb/pull/1359#issuecomment-925609697
|
92
|
-
env[:request_headers][
|
93
|
+
env[:request_headers]['Authorization'] = 'dummy'
|
93
94
|
end
|
94
95
|
|
95
96
|
if convert_to_get?(response)
|
@@ -125,9 +126,9 @@ module Octokit
|
|
125
126
|
# URI:HTTP using the `+` operator. Doesn't escape "%" characters so to not
|
126
127
|
# risk double-escaping.
|
127
128
|
def safe_escape(uri)
|
128
|
-
uri.to_s.gsub(URI_UNSAFE)
|
129
|
-
|
130
|
-
|
129
|
+
uri.to_s.gsub(URI_UNSAFE) do |match|
|
130
|
+
'%' + match.unpack('H2' * match.bytesize).join('%').upcase
|
131
|
+
end
|
131
132
|
end
|
132
133
|
end
|
133
134
|
end
|
data/lib/octokit/organization.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Octokit
|
2
4
|
# GitHub organization class to generate API path urls
|
3
5
|
class Organization
|
@@ -5,7 +7,7 @@ module Octokit
|
|
5
7
|
#
|
6
8
|
# @param org [String, Integer] GitHub organization login or id
|
7
9
|
# @return [String] Organization Api path
|
8
|
-
def self.path
|
10
|
+
def self.path(org)
|
9
11
|
case org
|
10
12
|
when String
|
11
13
|
"orgs/#{org}"
|
data/lib/octokit/preview.rb
CHANGED
@@ -1,31 +1,31 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
+
module Octokit
|
3
4
|
# Default setup options for preview features
|
4
5
|
module Preview
|
5
|
-
|
6
6
|
PREVIEW_TYPES = {
|
7
|
-
:
|
8
|
-
:
|
9
|
-
:
|
10
|
-
:
|
11
|
-
:
|
12
|
-
:
|
13
|
-
:
|
14
|
-
:
|
15
|
-
:
|
16
|
-
:
|
17
|
-
:
|
18
|
-
:
|
19
|
-
:
|
20
|
-
:
|
21
|
-
:
|
22
|
-
:
|
23
|
-
:
|
24
|
-
:
|
25
|
-
:
|
26
|
-
:
|
27
|
-
:
|
28
|
-
}
|
7
|
+
applications_api: 'application/vnd.github.doctor-strange-preview+json',
|
8
|
+
branch_protection: 'application/vnd.github.luke-cage-preview+json',
|
9
|
+
commit_search: 'application/vnd.github.cloak-preview+json',
|
10
|
+
commit_pulls: 'application/vnd.github.groot-preview+json',
|
11
|
+
commit_branches: 'application/vnd.github.groot-preview+json',
|
12
|
+
migrations: 'application/vnd.github.wyandotte-preview+json',
|
13
|
+
licenses: 'application/vnd.github.drax-preview+json',
|
14
|
+
source_imports: 'application/vnd.github.barred-rock-preview',
|
15
|
+
reactions: 'application/vnd.github.squirrel-girl-preview',
|
16
|
+
transfer_repository: 'application/vnd.github.nightshade-preview+json',
|
17
|
+
issue_timelines: 'application/vnd.github.mockingbird-preview+json',
|
18
|
+
nested_teams: 'application/vnd.github.hellcat-preview+json',
|
19
|
+
pages: 'application/vnd.github.mister-fantastic-preview+json',
|
20
|
+
projects: 'application/vnd.github.inertia-preview+json',
|
21
|
+
traffic: 'application/vnd.github.spiderman-preview',
|
22
|
+
topics: 'application/vnd.github.mercy-preview+json',
|
23
|
+
community_profile: 'application/vnd.github.black-panther-preview+json',
|
24
|
+
strict_validation: 'application/vnd.github.speedy-preview+json',
|
25
|
+
template_repositories: 'application/vnd.github.baptiste-preview+json',
|
26
|
+
project_card_events: 'application/vnd.github.starfox-preview+json',
|
27
|
+
vulnerability_alerts: 'application/vnd.github.dorian-preview+json'
|
28
|
+
}.freeze
|
29
29
|
|
30
30
|
def ensure_api_media_type(type, options)
|
31
31
|
if options[:accept].nil?
|
@@ -36,11 +36,11 @@ module Octokit
|
|
36
36
|
end
|
37
37
|
|
38
38
|
def warn_preview(type)
|
39
|
-
octokit_warn
|
40
|
-
WARNING: The preview version of the #{type.to_s.capitalize} API is not yet suitable for production use.
|
41
|
-
You can avoid this message by supplying an appropriate media type in the 'Accept' request
|
42
|
-
header.
|
43
|
-
EOS
|
39
|
+
octokit_warn <<~EOS
|
40
|
+
WARNING: The preview version of the #{type.to_s.capitalize} API is not yet suitable for production use.
|
41
|
+
You can avoid this message by supplying an appropriate media type in the 'Accept' request
|
42
|
+
header.
|
43
|
+
EOS
|
44
44
|
end
|
45
45
|
end
|
46
46
|
end
|
data/lib/octokit/rate_limit.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
+
module Octokit
|
3
4
|
# Class for API Rate Limit info
|
4
5
|
#
|
5
6
|
# @!attribute [w] limit
|
@@ -13,14 +14,13 @@ module Octokit
|
|
13
14
|
#
|
14
15
|
# @see https://developer.github.com/v3/#rate-limiting
|
15
16
|
class RateLimit < Struct.new(:limit, :remaining, :resets_at, :resets_in)
|
16
|
-
|
17
17
|
# Get rate limit info from HTTP response
|
18
18
|
#
|
19
19
|
# @param response [#headers] HTTP response
|
20
20
|
# @return [RateLimit]
|
21
21
|
def self.from_response(response)
|
22
22
|
info = new
|
23
|
-
if response
|
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)
|
@@ -1,9 +1,9 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
+
module Octokit
|
3
4
|
# Class to extract options from Ruby arguments for
|
4
5
|
# Repository-related methods
|
5
6
|
class RepoArguments < Arguments
|
6
|
-
|
7
7
|
# !@attribute [r] repo
|
8
8
|
# @return [Repository]
|
9
9
|
attr_reader :repo
|
@@ -14,6 +14,5 @@ module Octokit
|
|
14
14
|
|
15
15
|
arguments
|
16
16
|
end
|
17
|
-
|
18
17
|
end
|
19
18
|
end
|
data/lib/octokit/repository.rb
CHANGED
@@ -1,19 +1,20 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
+
module Octokit
|
3
4
|
# Class to parse GitHub repository owner and name from
|
4
5
|
# URLs and to generate URLs
|
5
6
|
class Repository
|
6
7
|
attr_accessor :owner, :name, :id
|
7
|
-
NAME_WITH_OWNER_PATTERN =
|
8
|
+
NAME_WITH_OWNER_PATTERN = %r{\A[\w.-]+/[\w.-]+\z}i.freeze
|
8
9
|
|
9
10
|
# Instantiate from a GitHub repository URL
|
10
11
|
#
|
11
12
|
# @return [Repository]
|
12
13
|
def self.from_url(url)
|
13
|
-
new URI.parse(url).path[1..-1]
|
14
|
-
|
15
|
-
|
16
|
-
|
14
|
+
new URI.parse(url).path[1..-1]
|
15
|
+
.gsub(%r{^repos/}, '')
|
16
|
+
.split('/', 3)[0..1]
|
17
|
+
.join('/')
|
17
18
|
end
|
18
19
|
|
19
20
|
# @raise [Octokit::InvalidRepository] if the repository
|
@@ -23,7 +24,7 @@ module Octokit
|
|
23
24
|
when Integer
|
24
25
|
@id = repo
|
25
26
|
when NAME_WITH_OWNER_PATTERN
|
26
|
-
@owner, @name = repo.split(
|
27
|
+
@owner, @name = repo.split('/')
|
27
28
|
when Repository
|
28
29
|
@owner = repo.owner
|
29
30
|
@name = repo.name
|
@@ -33,9 +34,7 @@ module Octokit
|
|
33
34
|
else
|
34
35
|
raise_invalid_repository!(repo)
|
35
36
|
end
|
36
|
-
if @owner && @name
|
37
|
-
validate_owner_and_name!(repo)
|
38
|
-
end
|
37
|
+
validate_owner_and_name!(repo) if @owner && @name
|
39
38
|
end
|
40
39
|
|
41
40
|
# Repository owner/name
|
@@ -43,7 +42,7 @@ module Octokit
|
|
43
42
|
def slug
|
44
43
|
"#{@owner}/#{@name}"
|
45
44
|
end
|
46
|
-
alias
|
45
|
+
alias to_s slug
|
47
46
|
|
48
47
|
# @return [String] Repository API path
|
49
48
|
def path
|
@@ -54,7 +53,7 @@ module Octokit
|
|
54
53
|
# Get the api path for a repo
|
55
54
|
# @param repo [Integer, String, Hash, Repository] A GitHub repository.
|
56
55
|
# @return [String] Api path.
|
57
|
-
def self.path
|
56
|
+
def self.path(repo)
|
58
57
|
new(repo).path
|
59
58
|
end
|
60
59
|
|
@@ -74,22 +73,22 @@ module Octokit
|
|
74
73
|
"#{Octokit.web_endpoint}#{slug}"
|
75
74
|
end
|
76
75
|
|
77
|
-
alias
|
78
|
-
alias
|
79
|
-
alias
|
76
|
+
alias user owner
|
77
|
+
alias username owner
|
78
|
+
alias repo name
|
80
79
|
|
81
80
|
private
|
82
81
|
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
end
|
82
|
+
def validate_owner_and_name!(repo)
|
83
|
+
if @owner.include?('/') || @name.include?('/') || !url.match(URI::ABS_URI)
|
84
|
+
raise_invalid_repository!(repo)
|
87
85
|
end
|
86
|
+
end
|
88
87
|
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
88
|
+
def raise_invalid_repository!(repo)
|
89
|
+
msg = "#{repo.inspect} is invalid as a repository identifier. " \
|
90
|
+
'Use the user/repo (String) format, or the repository ID (Integer), or a hash containing :repo and :user keys.'
|
91
|
+
raise Octokit::InvalidRepository, msg
|
92
|
+
end
|
94
93
|
end
|
95
94
|
end
|
@@ -1,19 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'octokit/response/base_middleware'
|
2
4
|
|
3
5
|
module Octokit
|
4
|
-
|
5
6
|
module Response
|
6
|
-
|
7
7
|
# Parses RSS and Atom feed responses.
|
8
8
|
class FeedParser < BaseMiddleware
|
9
|
-
|
10
9
|
def on_complete(env)
|
11
|
-
if env[:response_headers][
|
10
|
+
if env[:response_headers]['content-type'] =~ /(\batom|\brss)/
|
12
11
|
require 'rss'
|
13
12
|
env[:body] = RSS::Parser.parse env[:body]
|
14
13
|
end
|
15
14
|
end
|
16
|
-
|
17
15
|
end
|
18
16
|
end
|
19
17
|
end
|
@@ -1,14 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'octokit/response/base_middleware'
|
2
4
|
require 'octokit/error'
|
3
5
|
|
4
6
|
module Octokit
|
5
7
|
# Faraday response middleware
|
6
8
|
module Response
|
7
|
-
|
8
9
|
# This class raises an Octokit-flavored exception based
|
9
10
|
# HTTP status codes returned by the API
|
10
11
|
class RaiseError < BaseMiddleware
|
11
|
-
|
12
12
|
def on_complete(response)
|
13
13
|
if error = Octokit::Error.from_response(response)
|
14
14
|
raise error
|
data/lib/octokit/user.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Octokit
|
2
4
|
# GitHub user class to generate API path urls
|
3
5
|
class User
|
@@ -5,14 +7,14 @@ module Octokit
|
|
5
7
|
#
|
6
8
|
# @param user [String, Integer] GitHub user login or id
|
7
9
|
# @return [String] User Api path
|
8
|
-
def self.path
|
10
|
+
def self.path(user)
|
9
11
|
case user
|
10
12
|
when String
|
11
13
|
"users/#{user}"
|
12
14
|
when Integer
|
13
15
|
"user/#{user}"
|
14
16
|
else
|
15
|
-
|
17
|
+
'user'
|
16
18
|
end
|
17
19
|
end
|
18
20
|
end
|
data/lib/octokit/version.rb
CHANGED
@@ -1,11 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Octokit
|
2
4
|
# Current major release.
|
3
5
|
# @return [Integer]
|
4
|
-
MAJOR =
|
6
|
+
MAJOR = 5
|
5
7
|
|
6
8
|
# Current minor release.
|
7
9
|
# @return [Integer]
|
8
|
-
MINOR =
|
10
|
+
MINOR = 0
|
9
11
|
|
10
12
|
# Current patch level.
|
11
13
|
# @return [Integer]
|
data/lib/octokit/warnable.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
+
module Octokit
|
3
4
|
# Allows warnings to be suppressed via environment variable.
|
4
5
|
module Warnable
|
5
|
-
|
6
6
|
module_function
|
7
7
|
|
8
8
|
# Wrapper around Kernel#warn to print warnings unless
|
@@ -10,10 +10,7 @@ module Octokit
|
|
10
10
|
#
|
11
11
|
# @return [nil]
|
12
12
|
def octokit_warn(*message)
|
13
|
-
unless ENV['OCTOKIT_SILENT']
|
14
|
-
warn message
|
15
|
-
end
|
13
|
+
warn message unless ENV['OCTOKIT_SILENT']
|
16
14
|
end
|
17
15
|
end
|
18
16
|
end
|
19
|
-
|
data/lib/octokit.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'octokit/default'
|
2
4
|
require 'octokit/client'
|
3
5
|
require 'octokit/enterprise_admin_client'
|
@@ -13,6 +15,7 @@ module Octokit
|
|
13
15
|
# @return [Octokit::Client] API wrapper
|
14
16
|
def client
|
15
17
|
return @client if defined?(@client) && @client.same_options?(options)
|
18
|
+
|
16
19
|
@client = Octokit::Client.new(options)
|
17
20
|
end
|
18
21
|
|
@@ -20,7 +23,10 @@ module Octokit
|
|
20
23
|
#
|
21
24
|
# @return [Octokit::EnterpriseAdminClient] API wrapper
|
22
25
|
def enterprise_admin_client
|
23
|
-
|
26
|
+
if defined?(@enterprise_admin_client) && @enterprise_admin_client.same_options?(options)
|
27
|
+
return @enterprise_admin_client
|
28
|
+
end
|
29
|
+
|
24
30
|
@enterprise_admin_client = Octokit::EnterpriseAdminClient.new(options)
|
25
31
|
end
|
26
32
|
|
@@ -28,16 +34,19 @@ module Octokit
|
|
28
34
|
#
|
29
35
|
# @return [Octokit::EnterpriseManagementConsoleClient] API wrapper
|
30
36
|
def enterprise_management_console_client
|
31
|
-
|
37
|
+
if defined?(@enterprise_management_console_client) && @enterprise_management_console_client.same_options?(options)
|
38
|
+
return @enterprise_management_console_client
|
39
|
+
end
|
40
|
+
|
32
41
|
@enterprise_management_console_client = Octokit::EnterpriseManagementConsoleClient.new(options)
|
33
42
|
end
|
34
43
|
|
35
44
|
private
|
36
45
|
|
37
|
-
def respond_to_missing?(method_name, include_private=false)
|
46
|
+
def respond_to_missing?(method_name, include_private = false)
|
38
47
|
client.respond_to?(method_name, include_private) ||
|
39
|
-
|
40
|
-
|
48
|
+
enterprise_admin_client.respond_to?(method_name, include_private) ||
|
49
|
+
enterprise_management_console_client.respond_to?(method_name, include_private)
|
41
50
|
end
|
42
51
|
|
43
52
|
def method_missing(method_name, *args, &block)
|
@@ -51,7 +60,6 @@ module Octokit
|
|
51
60
|
|
52
61
|
super
|
53
62
|
end
|
54
|
-
|
55
63
|
end
|
56
64
|
end
|
57
65
|
|
data/octokit.gemspec
CHANGED
@@ -1,23 +1,25 @@
|
|
1
|
-
#
|
2
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
lib = File.expand_path('lib', __dir__)
|
3
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
5
|
require 'octokit/version'
|
5
6
|
|
6
7
|
Gem::Specification.new do |spec|
|
7
8
|
spec.add_development_dependency 'bundler', '>= 1', '< 3'
|
8
|
-
spec.add_dependency 'sawyer', '~> 0.9'
|
9
9
|
spec.add_dependency 'faraday', '>= 1', '< 3'
|
10
|
-
spec.
|
11
|
-
spec.
|
10
|
+
spec.add_dependency 'sawyer', '~> 0.9'
|
11
|
+
spec.authors = ['Wynn Netherland', 'Erik Michaels-Ober', 'Clint Shryock']
|
12
|
+
spec.description = 'Simple wrapper for the GitHub API'
|
12
13
|
spec.email = ['wynn.netherland@gmail.com', 'sferik@gmail.com', 'clint@ctshryock.com']
|
13
|
-
spec.files = %w
|
14
|
-
spec.files += Dir.glob(
|
14
|
+
spec.files = %w[.document CONTRIBUTING.md LICENSE.md README.md Rakefile octokit.gemspec]
|
15
|
+
spec.files += Dir.glob('lib/**/*.rb')
|
15
16
|
spec.homepage = 'https://github.com/octokit/octokit.rb'
|
16
17
|
spec.licenses = ['MIT']
|
17
18
|
spec.name = 'octokit'
|
18
19
|
spec.require_paths = ['lib']
|
19
|
-
spec.required_ruby_version = '>= 2.
|
20
|
+
spec.required_ruby_version = '>= 2.7.0'
|
20
21
|
spec.required_rubygems_version = '>= 1.3.5'
|
21
|
-
spec.summary =
|
22
|
+
spec.summary = 'Ruby toolkit for working with the GitHub API'
|
22
23
|
spec.version = Octokit::VERSION.dup
|
24
|
+
spec.metadata = { 'rubygems_mfa_required' => 'true' }
|
23
25
|
end
|
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
|
+
version: 5.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-
|
13
|
+
date: 2022-07-12 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: bundler
|
@@ -32,20 +32,6 @@ dependencies:
|
|
32
32
|
- - "<"
|
33
33
|
- !ruby/object:Gem::Version
|
34
34
|
version: '3'
|
35
|
-
- !ruby/object:Gem::Dependency
|
36
|
-
name: sawyer
|
37
|
-
requirement: !ruby/object:Gem::Requirement
|
38
|
-
requirements:
|
39
|
-
- - "~>"
|
40
|
-
- !ruby/object:Gem::Version
|
41
|
-
version: '0.9'
|
42
|
-
type: :runtime
|
43
|
-
prerelease: false
|
44
|
-
version_requirements: !ruby/object:Gem::Requirement
|
45
|
-
requirements:
|
46
|
-
- - "~>"
|
47
|
-
- !ruby/object:Gem::Version
|
48
|
-
version: '0.9'
|
49
35
|
- !ruby/object:Gem::Dependency
|
50
36
|
name: faraday
|
51
37
|
requirement: !ruby/object:Gem::Requirement
|
@@ -66,6 +52,20 @@ dependencies:
|
|
66
52
|
- - "<"
|
67
53
|
- !ruby/object:Gem::Version
|
68
54
|
version: '3'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: sawyer
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0.9'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0.9'
|
69
69
|
description: Simple wrapper for the GitHub API
|
70
70
|
email:
|
71
71
|
- wynn.netherland@gmail.com
|
@@ -165,8 +165,9 @@ files:
|
|
165
165
|
homepage: https://github.com/octokit/octokit.rb
|
166
166
|
licenses:
|
167
167
|
- MIT
|
168
|
-
metadata:
|
169
|
-
|
168
|
+
metadata:
|
169
|
+
rubygems_mfa_required: 'true'
|
170
|
+
post_install_message:
|
170
171
|
rdoc_options: []
|
171
172
|
require_paths:
|
172
173
|
- lib
|
@@ -174,15 +175,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
174
175
|
requirements:
|
175
176
|
- - ">="
|
176
177
|
- !ruby/object:Gem::Version
|
177
|
-
version: 2.
|
178
|
+
version: 2.7.0
|
178
179
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
179
180
|
requirements:
|
180
181
|
- - ">="
|
181
182
|
- !ruby/object:Gem::Version
|
182
183
|
version: 1.3.5
|
183
184
|
requirements: []
|
184
|
-
rubygems_version: 3.
|
185
|
-
signing_key:
|
185
|
+
rubygems_version: 3.3.7
|
186
|
+
signing_key:
|
186
187
|
specification_version: 4
|
187
188
|
summary: Ruby toolkit for working with the GitHub API
|
188
189
|
test_files: []
|