octokit 4.2.0 → 9.2.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 (97) hide show
  1. checksums.yaml +5 -5
  2. data/CONTRIBUTING.md +14 -13
  3. data/LICENSE.md +1 -1
  4. data/README.md +275 -127
  5. data/Rakefile +20 -14
  6. data/lib/ext/sawyer/relation.rb +12 -0
  7. data/lib/octokit/arguments.rb +3 -3
  8. data/lib/octokit/authentication.rb +20 -14
  9. data/lib/octokit/client/actions_artifacts.rb +71 -0
  10. data/lib/octokit/client/actions_secrets.rb +161 -0
  11. data/lib/octokit/client/actions_workflow_jobs.rb +65 -0
  12. data/lib/octokit/client/actions_workflow_runs.rb +125 -0
  13. data/lib/octokit/client/actions_workflows.rb +68 -0
  14. data/lib/octokit/client/apps.rb +259 -0
  15. data/lib/octokit/client/checks.rb +200 -0
  16. data/lib/octokit/client/code_scanning.rb +190 -0
  17. data/lib/octokit/client/codespaces_secrets.rb +108 -0
  18. data/lib/octokit/client/commit_branches.rb +20 -0
  19. data/lib/octokit/client/commit_comments.rb +8 -8
  20. data/lib/octokit/client/commit_pulls.rb +20 -0
  21. data/lib/octokit/client/commits.rb +32 -35
  22. data/lib/octokit/client/community_profile.rb +21 -0
  23. data/lib/octokit/client/contents.rb +24 -21
  24. data/lib/octokit/client/dependabot_secrets.rb +108 -0
  25. data/lib/octokit/client/deployments.rb +29 -7
  26. data/lib/octokit/client/downloads.rb +5 -6
  27. data/lib/octokit/client/emojis.rb +3 -3
  28. data/lib/octokit/client/environments.rb +58 -0
  29. data/lib/octokit/client/events.rb +4 -4
  30. data/lib/octokit/client/feeds.rb +4 -5
  31. data/lib/octokit/client/gists.rb +36 -8
  32. data/lib/octokit/client/gitignore.rb +3 -3
  33. data/lib/octokit/client/hooks.rb +34 -30
  34. data/lib/octokit/client/issues.rb +97 -14
  35. data/lib/octokit/client/labels.rb +17 -17
  36. data/lib/octokit/client/legacy_search.rb +3 -3
  37. data/lib/octokit/client/licenses.rb +5 -8
  38. data/lib/octokit/client/markdown.rb +3 -3
  39. data/lib/octokit/client/marketplace.rb +56 -0
  40. data/lib/octokit/client/meta.rb +4 -5
  41. data/lib/octokit/client/milestones.rb +14 -14
  42. data/lib/octokit/client/notifications.rb +7 -11
  43. data/lib/octokit/client/oauth_applications.rb +116 -0
  44. data/lib/octokit/client/objects.rb +14 -14
  45. data/lib/octokit/client/organizations.rb +256 -73
  46. data/lib/octokit/client/pages.rb +26 -3
  47. data/lib/octokit/client/projects.rb +294 -0
  48. data/lib/octokit/client/pull_requests.rb +74 -51
  49. data/lib/octokit/client/rate_limit.rb +11 -13
  50. data/lib/octokit/client/reactions.rb +204 -0
  51. data/lib/octokit/client/refs.rb +34 -20
  52. data/lib/octokit/client/releases.rb +16 -13
  53. data/lib/octokit/client/repositories.rb +276 -60
  54. data/lib/octokit/client/repository_invitations.rb +96 -0
  55. data/lib/octokit/client/reviews.rb +227 -0
  56. data/lib/octokit/client/say.rb +4 -5
  57. data/lib/octokit/client/search.rb +46 -17
  58. data/lib/octokit/client/service_status.rb +19 -9
  59. data/lib/octokit/client/source_import.rb +156 -0
  60. data/lib/octokit/client/stats.rb +39 -17
  61. data/lib/octokit/client/statuses.rb +6 -6
  62. data/lib/octokit/client/tokens.rb +31 -0
  63. data/lib/octokit/client/traffic.rb +64 -0
  64. data/lib/octokit/client/users.rb +133 -25
  65. data/lib/octokit/client.rb +85 -19
  66. data/lib/octokit/configurable.rb +60 -32
  67. data/lib/octokit/connection.rb +45 -21
  68. data/lib/octokit/default.rb +82 -35
  69. data/lib/octokit/enterprise_admin_client/admin_stats.rb +14 -15
  70. data/lib/octokit/enterprise_admin_client/license.rb +4 -5
  71. data/lib/octokit/enterprise_admin_client/orgs.rb +7 -6
  72. data/lib/octokit/enterprise_admin_client/search_indexing.rb +8 -9
  73. data/lib/octokit/enterprise_admin_client/users.rb +19 -18
  74. data/lib/octokit/enterprise_admin_client.rb +11 -3
  75. data/lib/octokit/enterprise_management_console_client/management_console.rb +52 -34
  76. data/lib/octokit/enterprise_management_console_client.rb +9 -3
  77. data/lib/octokit/error.rb +144 -26
  78. data/lib/octokit/gist.rb +4 -5
  79. data/lib/octokit/manage_ghes_client/manage_ghes.rb +178 -0
  80. data/lib/octokit/manage_ghes_client.rb +64 -0
  81. data/lib/octokit/middleware/follow_redirects.rb +18 -14
  82. data/lib/octokit/organization.rb +3 -1
  83. data/lib/octokit/rate_limit.rb +11 -9
  84. data/lib/octokit/repo_arguments.rb +3 -4
  85. data/lib/octokit/repository.rb +35 -23
  86. data/lib/octokit/response/base_middleware.rb +10 -0
  87. data/lib/octokit/response/feed_parser.rb +5 -9
  88. data/lib/octokit/response/raise_error.rb +4 -6
  89. data/lib/octokit/user.rb +4 -2
  90. data/lib/octokit/version.rb +3 -1
  91. data/lib/octokit/warnable.rb +4 -5
  92. data/lib/octokit.rb +30 -8
  93. data/octokit.gemspec +12 -10
  94. metadata +47 -24
  95. data/lib/octokit/client/authorizations.rb +0 -256
  96. data/lib/octokit/client/pub_sub_hubbub.rb +0 -111
  97. data/lib/octokit/preview.rb +0 -28
@@ -1,14 +1,14 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'sawyer'
2
4
  require 'octokit/authentication'
3
5
  module Octokit
4
-
5
6
  # Network layer for API clients.
6
7
  module Connection
7
-
8
8
  include Octokit::Authentication
9
9
 
10
10
  # Header keys that can be passed in options hash to {#get},{#head}
11
- CONVENIENCE_HEADERS = Set.new([:accept, :content_type])
11
+ CONVENIENCE_HEADERS = Set.new(%i[accept content_type])
12
12
 
13
13
  # Make a HTTP GET request
14
14
  #
@@ -75,17 +75,17 @@ module Octokit
75
75
  # contains the contents of the requests so far and the second parameter
76
76
  # contains the latest response.
77
77
  # @return [Sawyer::Resource]
78
- def paginate(url, options = {}, &block)
79
- opts = parse_query_and_convenience_headers(options.dup)
78
+ def paginate(url, options = {})
79
+ opts = parse_query_and_convenience_headers(options)
80
80
  if @auto_paginate || @per_page
81
- opts[:query][:per_page] ||= @per_page || (@auto_paginate ? 100 : nil)
81
+ opts[:query][:per_page] ||= @per_page || (@auto_paginate ? 100 : nil)
82
82
  end
83
83
 
84
84
  data = request(:get, url, opts.dup)
85
85
 
86
86
  if @auto_paginate
87
87
  while @last_response.rels[:next] && rate_limit.remaining > 0
88
- @last_response = @last_response.rels[:next].get(:headers => opts[:headers])
88
+ @last_response = @last_response.rels[:next].get(headers: opts[:headers])
89
89
  if block_given?
90
90
  yield(data, @last_response)
91
91
  else
@@ -104,15 +104,19 @@ module Octokit
104
104
  def agent
105
105
  @agent ||= Sawyer::Agent.new(endpoint, sawyer_options) do |http|
106
106
  http.headers[:accept] = default_media_type
107
- http.headers[:content_type] = "application/json"
107
+ http.headers[:content_type] = 'application/json'
108
108
  http.headers[:user_agent] = user_agent
109
+ http_cache_middleware = http.builder.handlers.delete(Faraday::HttpCache) if Faraday.const_defined?(:HttpCache)
109
110
  if basic_authenticated?
110
- http.basic_auth(@login, @password)
111
+ http.request(*FARADAY_BASIC_AUTH_KEYS, @login, @password)
111
112
  elsif token_authenticated?
112
- http.authorization 'token', @access_token
113
+ http.request :authorization, 'token', @access_token
114
+ elsif bearer_authenticated?
115
+ http.request :authorization, 'Bearer', @bearer_token
113
116
  elsif application_authenticated?
114
- http.params = http.params.merge application_authentication
117
+ http.request(*FARADAY_BASIC_AUTH_KEYS, @client_id, @client_secret)
115
118
  end
119
+ http.builder.handlers.push(http_cache_middleware) unless http_cache_middleware.nil?
116
120
  end
117
121
  end
118
122
 
@@ -120,7 +124,7 @@ module Octokit
120
124
  #
121
125
  # @return [Sawyer::Resource]
122
126
  def root
123
- get "/"
127
+ get '/'
124
128
  end
125
129
 
126
130
  # Response for last HTTP request
@@ -151,8 +155,11 @@ module Octokit
151
155
  end
152
156
  end
153
157
 
154
- @last_response = response = agent.call(method, URI::Parser.new.escape(path.to_s), data, options)
155
- response.data
158
+ @last_response = response = agent.call(method, Addressable::URI.parse(path.to_s).normalize.to_s, data, options)
159
+ response_data_correctly_encoded(response)
160
+ rescue Octokit::Error => e
161
+ @last_response = nil
162
+ raise e
156
163
  end
157
164
 
158
165
  # Executes the request, checking if it was successful
@@ -160,37 +167,54 @@ module Octokit
160
167
  # @return [Boolean] True on success, false otherwise
161
168
  def boolean_from_response(method, path, options = {})
162
169
  request(method, path, options)
163
- @last_response.status == 204
170
+ [201, 202, 204].include? @last_response.status
164
171
  rescue Octokit::NotFound
165
172
  false
166
173
  end
167
174
 
168
-
169
175
  def sawyer_options
170
176
  opts = {
171
- :links_parser => Sawyer::LinkParsers::Simple.new
177
+ links_parser: Sawyer::LinkParsers::Simple.new
172
178
  }
173
179
  conn_opts = @connection_options
174
- conn_opts[:builder] = @middleware if @middleware
180
+ conn_opts[:builder] = @middleware.dup if @middleware
175
181
  conn_opts[:proxy] = @proxy if @proxy
182
+ if conn_opts[:ssl].nil?
183
+ conn_opts[:ssl] = { verify_mode: @ssl_verify_mode } if @ssl_verify_mode
184
+ else
185
+ verify = @connection_options[:ssl][:verify]
186
+ conn_opts[:ssl] = {
187
+ verify: verify,
188
+ verify_mode: verify == false ? 0 : @ssl_verify_mode
189
+ }
190
+ end
176
191
  opts[:faraday] = Faraday.new(conn_opts)
177
192
 
178
193
  opts
179
194
  end
180
195
 
181
196
  def parse_query_and_convenience_headers(options)
182
- headers = options.delete(:headers) { Hash.new }
197
+ options = options.dup
198
+ headers = options.delete(:headers) { {} }
183
199
  CONVENIENCE_HEADERS.each do |h|
184
200
  if header = options.delete(h)
185
201
  headers[h] = header
186
202
  end
187
203
  end
188
204
  query = options.delete(:query)
189
- opts = {:query => options}
190
- opts[:query].merge!(query) if query && query.is_a?(Hash)
205
+ opts = { query: options }
206
+ opts[:query].merge!(query) if query.is_a?(Hash)
191
207
  opts[:headers] = headers unless headers.empty?
192
208
 
193
209
  opts
194
210
  end
211
+
212
+ def response_data_correctly_encoded(response)
213
+ content_type = response.headers.fetch('content-type', '')
214
+ return response.data unless content_type.include?('charset') && response.data.is_a?(String)
215
+
216
+ reported_encoding = content_type.match(/charset=([^ ]+)/)[1]
217
+ response.data.force_encoding(reported_encoding)
218
+ end
195
219
  end
196
220
  end
@@ -1,30 +1,46 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'octokit/middleware/follow_redirects'
2
4
  require 'octokit/response/raise_error'
3
5
  require 'octokit/response/feed_parser'
4
6
  require 'octokit/version'
7
+ require 'octokit/warnable'
5
8
 
6
- module Octokit
9
+ if Gem::Version.new(Faraday::VERSION) >= Gem::Version.new('2.0')
10
+ begin
11
+ require 'faraday/retry'
12
+ rescue LoadError
13
+ Octokit::Warnable.octokit_warn 'To use retry middleware with Faraday v2.0+, install `faraday-retry` gem'
14
+ end
15
+ end
7
16
 
17
+ module Octokit
8
18
  # Default configuration options for {Client}
9
19
  module Default
10
-
11
20
  # Default API endpoint
12
- API_ENDPOINT = "https://api.github.com".freeze
21
+ API_ENDPOINT = 'https://api.github.com'
13
22
 
14
23
  # Default User Agent header string
15
- USER_AGENT = "Octokit Ruby Gem #{Octokit::VERSION}".freeze
24
+ USER_AGENT = "Octokit Ruby Gem #{Octokit::VERSION}"
16
25
 
17
26
  # Default media type
18
- MEDIA_TYPE = "application/vnd.github.v3+json".freeze
27
+ MEDIA_TYPE = 'application/vnd.github.v3+json'
19
28
 
20
29
  # Default WEB endpoint
21
- WEB_ENDPOINT = "https://github.com".freeze
22
-
23
- # In Faraday 0.9, Faraday::Builder was renamed to Faraday::RackBuilder
24
- RACK_BUILDER_CLASS = defined?(Faraday::RackBuilder) ? Faraday::RackBuilder : Faraday::Builder
30
+ WEB_ENDPOINT = 'https://github.com'
25
31
 
26
32
  # Default Faraday middleware stack
27
- MIDDLEWARE = RACK_BUILDER_CLASS.new do |builder|
33
+ MIDDLEWARE = Faraday::RackBuilder.new do |builder|
34
+ # In Faraday 2.x, Faraday::Request::Retry was moved to a separate gem
35
+ # so we use it only when it's available.
36
+ if defined?(Faraday::Request::Retry)
37
+ retry_exceptions = Faraday::Request::Retry::DEFAULT_EXCEPTIONS + [Octokit::ServerError]
38
+ builder.use Faraday::Request::Retry, exceptions: retry_exceptions
39
+ elsif defined?(Faraday::Retry::Middleware)
40
+ retry_exceptions = Faraday::Retry::Middleware::DEFAULT_EXCEPTIONS + [Octokit::ServerError]
41
+ builder.use Faraday::Retry::Middleware, exceptions: retry_exceptions
42
+ end
43
+
28
44
  builder.use Octokit::Middleware::FollowRedirects
29
45
  builder.use Octokit::Response::RaiseError
30
46
  builder.use Octokit::Response::FeedParser
@@ -32,62 +48,85 @@ module Octokit
32
48
  end
33
49
 
34
50
  class << self
35
-
36
51
  # Configuration options
37
52
  # @return [Hash]
38
53
  def options
39
- Hash[Octokit::Configurable.keys.map{|key| [key, send(key)]}]
54
+ Octokit::Configurable.keys.to_h { |key| [key, send(key)] }
40
55
  end
41
56
 
42
57
  # Default access token from ENV
43
58
  # @return [String]
44
59
  def access_token
45
- ENV['OCTOKIT_ACCESS_TOKEN']
60
+ ENV.fetch('OCTOKIT_ACCESS_TOKEN', nil)
46
61
  end
47
62
 
48
63
  # Default API endpoint from ENV or {API_ENDPOINT}
49
64
  # @return [String]
50
65
  def api_endpoint
51
- ENV['OCTOKIT_API_ENDPOINT'] || API_ENDPOINT
66
+ ENV.fetch('OCTOKIT_API_ENDPOINT') { API_ENDPOINT }
52
67
  end
53
68
 
54
69
  # Default pagination preference from ENV
55
70
  # @return [String]
56
71
  def auto_paginate
57
- ENV['OCTOKIT_AUTO_PAGINATE']
72
+ ENV.fetch('OCTOKIT_AUTO_PAGINATE', nil)
73
+ end
74
+
75
+ # Default bearer token from ENV
76
+ # @return [String]
77
+ def bearer_token
78
+ ENV.fetch('OCTOKIT_BEARER_TOKEN', nil)
58
79
  end
59
80
 
60
81
  # Default OAuth app key from ENV
61
82
  # @return [String]
62
83
  def client_id
63
- ENV['OCTOKIT_CLIENT_ID']
84
+ ENV.fetch('OCTOKIT_CLIENT_ID', nil)
64
85
  end
65
86
 
66
87
  # Default OAuth app secret from ENV
67
88
  # @return [String]
68
89
  def client_secret
69
- ENV['OCTOKIT_SECRET']
90
+ ENV.fetch('OCTOKIT_SECRET', nil)
70
91
  end
71
92
 
72
93
  # Default management console password from ENV
73
94
  # @return [String]
74
95
  def management_console_password
75
- ENV['OCTOKIT_ENTERPRISE_MANAGEMENT_CONSOLE_PASSWORD']
96
+ ENV.fetch('OCTOKIT_ENTERPRISE_MANAGEMENT_CONSOLE_PASSWORD', nil)
76
97
  end
77
98
 
78
99
  # Default management console endpoint from ENV
79
100
  # @return [String]
80
101
  def management_console_endpoint
81
- ENV['OCTOKIT_ENTERPRISE_MANAGEMENT_CONSOLE_ENDPOINT']
102
+ ENV.fetch('OCTOKIT_ENTERPRISE_MANAGEMENT_CONSOLE_ENDPOINT', nil)
103
+ end
104
+
105
+ # Default GHES Manage API endpoint from ENV
106
+ # @return [String]
107
+ def manage_ghes_endpoint
108
+ ENV.fetch('OCTOKIT_MANAGE_GHES_ENDPOINT', nil)
109
+ end
110
+
111
+ # Default GHES Manage API username from ENV
112
+ # @return [String]
113
+ def manage_ghes_username
114
+ ENV.fetch('OCTOKIT_MANAGE_GHES_USERNAME', nil)
115
+ end
116
+
117
+ # Default GHES Manage API password from ENV
118
+ # @return [String]
119
+ def manage_ghes_password
120
+ ENV.fetch('OCTOKIT_MANAGE_GHES_PASSWORD', nil)
82
121
  end
83
122
 
84
123
  # Default options for Faraday::Connection
85
124
  # @return [Hash]
86
125
  def connection_options
87
126
  {
88
- :headers => {
89
- :accept => default_media_type,
90
- :user_agent => user_agent
127
+ headers: {
128
+ accept: default_media_type,
129
+ user_agent: user_agent
91
130
  }
92
131
  }
93
132
  end
@@ -95,18 +134,18 @@ module Octokit
95
134
  # Default media type from ENV or {MEDIA_TYPE}
96
135
  # @return [String]
97
136
  def default_media_type
98
- ENV['OCTOKIT_DEFAULT_MEDIA_TYPE'] || MEDIA_TYPE
137
+ ENV.fetch('OCTOKIT_DEFAULT_MEDIA_TYPE') { MEDIA_TYPE }
99
138
  end
100
139
 
101
140
  # Default GitHub username for Basic Auth from ENV
102
141
  # @return [String]
103
142
  def login
104
- ENV['OCTOKIT_LOGIN']
143
+ ENV.fetch('OCTOKIT_LOGIN', nil)
105
144
  end
106
145
 
107
146
  # Default middleware stack for Faraday::Connection
108
147
  # from {MIDDLEWARE}
109
- # @return [String]
148
+ # @return [Faraday::RackBuilder or Faraday::Builder]
110
149
  def middleware
111
150
  MIDDLEWARE
112
151
  end
@@ -114,47 +153,55 @@ module Octokit
114
153
  # Default GitHub password for Basic Auth from ENV
115
154
  # @return [String]
116
155
  def password
117
- ENV['OCTOKIT_PASSWORD']
156
+ ENV.fetch('OCTOKIT_PASSWORD', nil)
118
157
  end
119
158
 
120
159
  # Default pagination page size from ENV
121
- # @return [Fixnum] Page size
160
+ # @return [Integer] Page size
122
161
  def per_page
123
- page_size = ENV['OCTOKIT_PER_PAGE']
162
+ page_size = ENV.fetch('OCTOKIT_PER_PAGE', nil)
124
163
 
125
- page_size.to_i if page_size
164
+ page_size&.to_i
126
165
  end
127
166
 
128
167
  # Default proxy server URI for Faraday connection from ENV
129
168
  # @return [String]
130
169
  def proxy
131
- ENV['OCTOKIT_PROXY']
170
+ ENV.fetch('OCTOKIT_PROXY', nil)
171
+ end
172
+
173
+ # Default SSL verify mode from ENV
174
+ # @return [Integer]
175
+ def ssl_verify_mode
176
+ # 0 is OpenSSL::SSL::VERIFY_NONE
177
+ # 1 is OpenSSL::SSL::SSL_VERIFY_PEER
178
+ # the standard default for SSL is SSL_VERIFY_PEER which requires a server certificate check on the client
179
+ ENV.fetch('OCTOKIT_SSL_VERIFY_MODE', 1).to_i
132
180
  end
133
181
 
134
182
  # Default User-Agent header string from ENV or {USER_AGENT}
135
183
  # @return [String]
136
184
  def user_agent
137
- ENV['OCTOKIT_USER_AGENT'] || USER_AGENT
185
+ ENV.fetch('OCTOKIT_USER_AGENT') { USER_AGENT }
138
186
  end
139
187
 
140
188
  # Default web endpoint from ENV or {WEB_ENDPOINT}
141
189
  # @return [String]
142
190
  def web_endpoint
143
- ENV['OCTOKIT_WEB_ENDPOINT'] || WEB_ENDPOINT
191
+ ENV.fetch('OCTOKIT_WEB_ENDPOINT') { WEB_ENDPOINT }
144
192
  end
145
193
 
146
194
  # Default behavior for reading .netrc file
147
195
  # @return [Boolean]
148
196
  def netrc
149
- ENV['OCTOKIT_NETRC'] || false
197
+ ENV.fetch('OCTOKIT_NETRC', false)
150
198
  end
151
199
 
152
200
  # Default path for .netrc file
153
201
  # @return [String]
154
202
  def netrc_file
155
- ENV['OCTOKIT_NETRC_FILE'] || File.join(ENV['HOME'].to_s, '.netrc')
203
+ ENV.fetch('OCTOKIT_NETRC_FILE') { File.join(Dir.home.to_s, '.netrc') }
156
204
  end
157
-
158
205
  end
159
206
  end
160
207
  end
@@ -1,18 +1,18 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Octokit
2
4
  class EnterpriseAdminClient
3
-
4
5
  # Methods for the Enterprise Admin Stats API
5
6
  #
6
- # @see https://developer.github.com/v3/enterprise/admin_stats/
7
+ # @see https://developer.github.com/v3/enterprise-admin/admin_stats/
7
8
  module AdminStats
8
-
9
9
  # Get all available stats
10
10
  #
11
11
  # @return [Sawyer::Resource] All available stats
12
12
  # @example Get all available stats
13
13
  # @client.admin_stats
14
14
  def admin_stats
15
- get_admin_stats "all"
15
+ get_admin_stats 'all'
16
16
  end
17
17
 
18
18
  # Get only repository-related stats
@@ -21,7 +21,7 @@ module Octokit
21
21
  # @example Get only repository-related stats
22
22
  # @client.admin_repository_stats
23
23
  def admin_repository_stats
24
- get_admin_stats "repos"
24
+ get_admin_stats 'repos'
25
25
  end
26
26
 
27
27
  # Get only hooks-related stats
@@ -30,7 +30,7 @@ module Octokit
30
30
  # @example Get only hooks-related stats
31
31
  # @client.admin_hooks_stats
32
32
  def admin_hooks_stats
33
- get_admin_stats "hooks"
33
+ get_admin_stats 'hooks'
34
34
  end
35
35
 
36
36
  # Get only pages-related stats
@@ -39,7 +39,7 @@ module Octokit
39
39
  # @example Get only pages-related stats
40
40
  # @client.admin_pages_stats
41
41
  def admin_pages_stats
42
- get_admin_stats "pages"
42
+ get_admin_stats 'pages'
43
43
  end
44
44
 
45
45
  # Get only organization-related stats
@@ -48,7 +48,7 @@ module Octokit
48
48
  # @example Get only organization-related stats
49
49
  # @client.admin_organization_stats
50
50
  def admin_organization_stats
51
- get_admin_stats "orgs"
51
+ get_admin_stats 'orgs'
52
52
  end
53
53
 
54
54
  # Get only user-related stats
@@ -57,7 +57,7 @@ module Octokit
57
57
  # @example Get only user-related stats
58
58
  # @client.admin_users_stats
59
59
  def admin_users_stats
60
- get_admin_stats "users"
60
+ get_admin_stats 'users'
61
61
  end
62
62
 
63
63
  # Get only pull request-related stats
@@ -66,7 +66,7 @@ module Octokit
66
66
  # @example Get only pull request-related stats
67
67
  # @client.admin_pull_requests_stats
68
68
  def admin_pull_requests_stats
69
- get_admin_stats "pulls"
69
+ get_admin_stats 'pulls'
70
70
  end
71
71
 
72
72
  # Get only issue-related stats
@@ -75,7 +75,7 @@ module Octokit
75
75
  # @example Get only issue-related stats
76
76
  # @client.admin_issues_stats
77
77
  def admin_issues_stats
78
- get_admin_stats "issues"
78
+ get_admin_stats 'issues'
79
79
  end
80
80
 
81
81
  # Get only milestone-related stats
@@ -84,7 +84,7 @@ module Octokit
84
84
  # @example Get only milestone-related stats
85
85
  # @client.admin_milestones_stats
86
86
  def admin_milestones_stats
87
- get_admin_stats "milestones"
87
+ get_admin_stats 'milestones'
88
88
  end
89
89
 
90
90
  # Get only gist-related stats
@@ -93,7 +93,7 @@ module Octokit
93
93
  # @example Get only gist-related stats
94
94
  # @client.admin_gits_stats
95
95
  def admin_gists_stats
96
- get_admin_stats "gists"
96
+ get_admin_stats 'gists'
97
97
  end
98
98
 
99
99
  # Get only comment-related stats
@@ -102,7 +102,7 @@ module Octokit
102
102
  # @example Get only comment-related stats
103
103
  # @client.admin_comments_stats
104
104
  def admin_comments_stats
105
- get_admin_stats "comments"
105
+ get_admin_stats 'comments'
106
106
  end
107
107
 
108
108
  private
@@ -115,6 +115,5 @@ module Octokit
115
115
  get "enterprise/stats/#{metric}"
116
116
  end
117
117
  end
118
-
119
118
  end
120
119
  end
@@ -1,18 +1,17 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Octokit
2
4
  class EnterpriseAdminClient
3
-
4
5
  # Methods for the Enterprise License API
5
6
  #
6
- # @see https://developer.github.com/v3/enterprise/license/
7
+ # @see https://developer.github.com/v3/enterprise-admin/license/
7
8
  module License
8
-
9
9
  # Get information about the Enterprise license
10
10
  #
11
11
  # @return [Sawyer::Resource] The license information
12
12
  def license_info
13
- get "enterprise/settings/license"
13
+ get 'enterprise/settings/license'
14
14
  end
15
-
16
15
  end
17
16
  end
18
17
  end
@@ -1,11 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Octokit
2
4
  class EnterpriseAdminClient
3
-
4
5
  # Methods for the Enterprise Orgs API
5
6
  #
6
- # @see https://developer.github.com/v3/enterprise/orgs/
7
+ # @see https://developer.github.com/v3/enterprise-admin/orgs/
7
8
  module Orgs
8
-
9
9
  # Create a new organization on the instance.
10
10
  #
11
11
  # @param login [String] The organization's username.
@@ -13,13 +13,14 @@ module Octokit
13
13
  # @param options [Hash] A set of options.
14
14
  # @option options [String] :profile_name The organization's display name.
15
15
  # @return [nil]
16
- # @see https://developer.github.com/v3/enterprise/orgs/#create-an-organization
16
+ # @see https://developer.github.com/v3/enterprise-admin/orgs/#create-an-organization
17
17
  # @example
18
18
  # @admin_client.create_organization('SuchAGreatOrg', 'gjtorikian')
19
19
  def create_organization(login, admin, options = {})
20
- post "admin/organizations", options
20
+ options[:login] = login
21
+ options[:admin] = admin
22
+ post 'admin/organizations', options
21
23
  end
22
-
23
24
  end
24
25
  end
25
26
  end
@@ -1,11 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Octokit
2
4
  class EnterpriseAdminClient
3
-
4
5
  # Methods for the Enterprise Search Indexing API
5
6
  #
6
- # @see https://developer.github.com/v3/enterprise/search_indexing/
7
+ # @see https://developer.github.com/v3/enterprise-admin/search_indexing/
7
8
  module SearchIndexing
8
-
9
9
  # Queue a User or Organization to be indexed
10
10
  #
11
11
  # @param user [String] A GitHub Enterprise user or organization
@@ -13,7 +13,7 @@ module Octokit
13
13
  def index_user(user)
14
14
  queue_index user
15
15
  end
16
- alias :index_organization :index_user
16
+ alias index_organization index_user
17
17
 
18
18
  # Queue a Repository to be indexed
19
19
  #
@@ -46,7 +46,7 @@ module Octokit
46
46
  def index_users_repositories(user)
47
47
  queue_index "#{user}/*"
48
48
  end
49
- alias :index_organizations_repositories :index_users_repositories
49
+ alias index_organizations_repositories index_users_repositories
50
50
 
51
51
  # Queue an index of all the issues across all of a user's or
52
52
  # organization's repositories
@@ -56,7 +56,7 @@ module Octokit
56
56
  def index_users_repositories_issues(user)
57
57
  queue_index "#{user}/*/issues"
58
58
  end
59
- alias :index_organizations_repositories_issues :index_users_repositories_issues
59
+ alias index_organizations_repositories_issues index_users_repositories_issues
60
60
 
61
61
  # Queue an index of all the code contained in all of a user's or
62
62
  # organization's repositories
@@ -66,7 +66,7 @@ module Octokit
66
66
  def index_users_repositories_code(user)
67
67
  queue_index "#{user}/*/code"
68
68
  end
69
- alias :index_organizations_repositories_code :index_users_repositories_code
69
+ alias index_organizations_repositories_code index_users_repositories_code
70
70
 
71
71
  private
72
72
 
@@ -75,9 +75,8 @@ module Octokit
75
75
  # @param target [String] Target to index
76
76
  # @return [Sawyer:Resource] Result of the queuing containing `:message`
77
77
  def queue_index(target)
78
- post "staff/indexing_jobs", :target => target
78
+ post 'staff/indexing_jobs', target: target
79
79
  end
80
80
  end
81
-
82
81
  end
83
82
  end