gitabu 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. checksums.yaml +7 -0
  2. data/.rspec +3 -0
  3. data/.rubocop.yml +33 -0
  4. data/CHANGELOG.md +3 -0
  5. data/Gemfile +10 -0
  6. data/Gemfile.lock +65 -0
  7. data/LICENSE.txt +21 -0
  8. data/README.md +42 -0
  9. data/Rakefile +12 -0
  10. data/gitabu.gemspec +41 -0
  11. data/lib/gitabu/api/v3/actions.rb +3724 -0
  12. data/lib/gitabu/api/v3/activity.rb +835 -0
  13. data/lib/gitabu/api/v3/apps.rb +961 -0
  14. data/lib/gitabu/api/v3/billing.rb +217 -0
  15. data/lib/gitabu/api/v3/branches.rb +1098 -0
  16. data/lib/gitabu/api/v3/checks.rb +384 -0
  17. data/lib/gitabu/api/v3/code_scanning.rb +315 -0
  18. data/lib/gitabu/api/v3/codes_of_conduct.rb +92 -0
  19. data/lib/gitabu/api/v3/codespaces.rb +650 -0
  20. data/lib/gitabu/api/v3/collaborators.rb +341 -0
  21. data/lib/gitabu/api/v3/commits.rb +428 -0
  22. data/lib/gitabu/api/v3/dependabot.rb +419 -0
  23. data/lib/gitabu/api/v3/deploy_keys.rb +152 -0
  24. data/lib/gitabu/api/v3/deployments.rb +356 -0
  25. data/lib/gitabu/api/v3/emojis.rb +67 -0
  26. data/lib/gitabu/api/v3/enterprise_admin.rb +495 -0
  27. data/lib/gitabu/api/v3/gists.rb +552 -0
  28. data/lib/gitabu/api/v3/git.rb +409 -0
  29. data/lib/gitabu/api/v3/gitignore.rb +92 -0
  30. data/lib/gitabu/api/v3/interactions.rb +275 -0
  31. data/lib/gitabu/api/v3/issues.rb +1119 -0
  32. data/lib/gitabu/api/v3/licenses.rb +118 -0
  33. data/lib/gitabu/api/v3/markdown.rb +94 -0
  34. data/lib/gitabu/api/v3/meta.rb +142 -0
  35. data/lib/gitabu/api/v3/metrics.rb +302 -0
  36. data/lib/gitabu/api/v3/migrations.rb +631 -0
  37. data/lib/gitabu/api/v3/orgs.rb +1291 -0
  38. data/lib/gitabu/api/v3/packages.rb +686 -0
  39. data/lib/gitabu/api/v3/pages.rb +282 -0
  40. data/lib/gitabu/api/v3/projects.rb +693 -0
  41. data/lib/gitabu/api/v3/pulls.rb +816 -0
  42. data/lib/gitabu/api/v3/rate_limit.rb +67 -0
  43. data/lib/gitabu/api/v3/reactions.rb +734 -0
  44. data/lib/gitabu/api/v3/releases.rb +411 -0
  45. data/lib/gitabu/api/v3/repos.rb +1136 -0
  46. data/lib/gitabu/api/v3/scim.rb +214 -0
  47. data/lib/gitabu/api/v3/search.rb +217 -0
  48. data/lib/gitabu/api/v3/secret_scanning.rb +201 -0
  49. data/lib/gitabu/api/v3/teams.rb +1963 -0
  50. data/lib/gitabu/api/v3/users.rb +851 -0
  51. data/lib/gitabu/api/v3/webhooks.rb +379 -0
  52. data/lib/gitabu/builder.rb +37 -0
  53. data/lib/gitabu/client.rb +8 -0
  54. data/lib/gitabu/generator.rb +75 -0
  55. data/lib/gitabu/http_client.rb +96 -0
  56. data/lib/gitabu/items.rb +110 -0
  57. data/lib/gitabu/public/api/v3/actions.json +5779 -0
  58. data/lib/gitabu/public/api/v3/activity.json +1248 -0
  59. data/lib/gitabu/public/api/v3/apps.json +1174 -0
  60. data/lib/gitabu/public/api/v3/billing.json +183 -0
  61. data/lib/gitabu/public/api/v3/branches.json +1886 -0
  62. data/lib/gitabu/public/api/v3/checks.json +856 -0
  63. data/lib/gitabu/public/api/v3/code_scanning.json +666 -0
  64. data/lib/gitabu/public/api/v3/codes_of_conduct.json +41 -0
  65. data/lib/gitabu/public/api/v3/codespaces.json +884 -0
  66. data/lib/gitabu/public/api/v3/collaborators.json +464 -0
  67. data/lib/gitabu/public/api/v3/commits.json +830 -0
  68. data/lib/gitabu/public/api/v3/dependabot.json +596 -0
  69. data/lib/gitabu/public/api/v3/deploy_keys.json +195 -0
  70. data/lib/gitabu/public/api/v3/deployments.json +698 -0
  71. data/lib/gitabu/public/api/v3/emojis.json +18 -0
  72. data/lib/gitabu/public/api/v3/enterprise_admin.json +881 -0
  73. data/lib/gitabu/public/api/v3/gists.json +689 -0
  74. data/lib/gitabu/public/api/v3/git.json +735 -0
  75. data/lib/gitabu/public/api/v3/gitignore.json +41 -0
  76. data/lib/gitabu/public/api/v3/interactions.json +265 -0
  77. data/lib/gitabu/public/api/v3/issues.json +2359 -0
  78. data/lib/gitabu/public/api/v3/licenses.json +100 -0
  79. data/lib/gitabu/public/api/v3/markdown.json +59 -0
  80. data/lib/gitabu/public/api/v3/meta.json +69 -0
  81. data/lib/gitabu/public/api/v3/metrics.json +342 -0
  82. data/lib/gitabu/public/api/v3/migrations.json +960 -0
  83. data/lib/gitabu/public/api/v3/orgs.json +1989 -0
  84. data/lib/gitabu/public/api/v3/packages.json +1078 -0
  85. data/lib/gitabu/public/api/v3/pages.json +373 -0
  86. data/lib/gitabu/public/api/v3/projects.json +966 -0
  87. data/lib/gitabu/public/api/v3/pulls.json +1768 -0
  88. data/lib/gitabu/public/api/v3/rate_limit.json +18 -0
  89. data/lib/gitabu/public/api/v3/reactions.json +1425 -0
  90. data/lib/gitabu/public/api/v3/releases.json +753 -0
  91. data/lib/gitabu/public/api/v3/repos.json +2314 -0
  92. data/lib/gitabu/public/api/v3/scim.json +412 -0
  93. data/lib/gitabu/public/api/v3/search.json +408 -0
  94. data/lib/gitabu/public/api/v3/secret_scanning.json +385 -0
  95. data/lib/gitabu/public/api/v3/teams.json +3126 -0
  96. data/lib/gitabu/public/api/v3/users.json +956 -0
  97. data/lib/gitabu/public/api/v3/webhooks.json +667 -0
  98. data/lib/gitabu/run.rb +237 -0
  99. data/lib/gitabu/scraper.rb +86 -0
  100. data/lib/gitabu/templates/template.rb.erb +70 -0
  101. data/lib/gitabu/version.rb +6 -0
  102. data/lib/gitabu.rb +57 -0
  103. data/sig/gitabu.rbs +4 -0
  104. metadata +177 -0
@@ -0,0 +1,851 @@
1
+ # frozen_string_literal: true
2
+
3
+ # INFO ON GENERATED CODE
4
+ #
5
+ # This file is generated.
6
+ # See the contribution guide on how to improve the code.
7
+ #
8
+ # INFO ON GENERATED CODE
9
+
10
+ # Ruby gem that helps you work with Github API.
11
+ module Gitabu
12
+ # API module
13
+ module Api
14
+ # Github Version 3
15
+ module V3
16
+ # Class to display Users result
17
+ class UsersResult
18
+ attr_accessor :result, :message
19
+
20
+ def initialize(result:, message:)
21
+ @result = result
22
+ @message = message
23
+ end
24
+ end
25
+
26
+ # Class to display error result
27
+ class UsersErrorResult
28
+ attr_accessor :result, :message
29
+
30
+ def initialize(result:, message:)
31
+ @result = result
32
+ @message = message
33
+ end
34
+ end
35
+
36
+ # Users endpoints.
37
+ class Users
38
+ def self.get_the_authenticated_user(options: nil)
39
+ new.get_the_authenticated_user(options)
40
+ end
41
+
42
+ def self.update_the_authenticated_user(name: nil, email: nil, blog: nil, twitter_username: nil, company: nil, location: nil, hireable: nil, bio: nil, options: nil)
43
+ new.update_the_authenticated_user(name, email, blog, twitter_username, company, location, hireable, bio, options)
44
+ end
45
+
46
+ def self.list_users(options: nil)
47
+ new.list_users(options)
48
+ end
49
+
50
+ def self.get_a_user(username: nil, options: nil)
51
+ new.get_a_user(username, options)
52
+ end
53
+
54
+ def self.get_contextual_information_for_a_user(username: nil, options: nil)
55
+ new.get_contextual_information_for_a_user(username, options)
56
+ end
57
+
58
+ def self.list_users_blocked_by_the_authenticated_user(options: nil)
59
+ new.list_users_blocked_by_the_authenticated_user(options)
60
+ end
61
+
62
+ def self.check_if_a_user_is_blocked_by_the_authenticated_user(username: nil, options: nil)
63
+ new.check_if_a_user_is_blocked_by_the_authenticated_user(username, options)
64
+ end
65
+
66
+ def self.block_a_user(username: nil, options: nil)
67
+ new.block_a_user(username, options)
68
+ end
69
+
70
+ def self.unblock_a_user(username: nil, options: nil)
71
+ new.unblock_a_user(username, options)
72
+ end
73
+
74
+ def self.set_primary_email_visibility_for_the_authenticated_user(visibility: nil, options: nil)
75
+ new.set_primary_email_visibility_for_the_authenticated_user(visibility, options)
76
+ end
77
+
78
+ def self.list_email_addresses_for_the_authenticated_user(options: nil)
79
+ new.list_email_addresses_for_the_authenticated_user(options)
80
+ end
81
+
82
+ def self.add_an_email_address_for_the_authenticated_user(emails: nil, options: nil)
83
+ new.add_an_email_address_for_the_authenticated_user(emails, options)
84
+ end
85
+
86
+ def self.delete_an_email_address_for_the_authenticated_user(emails: nil, options: nil)
87
+ new.delete_an_email_address_for_the_authenticated_user(emails, options)
88
+ end
89
+
90
+ def self.list_public_email_addresses_for_the_authenticated_user(options: nil)
91
+ new.list_public_email_addresses_for_the_authenticated_user(options)
92
+ end
93
+
94
+ def self.list_followers_of_the_authenticated_user(options: nil)
95
+ new.list_followers_of_the_authenticated_user(options)
96
+ end
97
+
98
+ def self.list_the_people_the_authenticated_user_follows(options: nil)
99
+ new.list_the_people_the_authenticated_user_follows(options)
100
+ end
101
+
102
+ def self.check_if_a_person_is_followed_by_the_authenticated_user(username: nil, options: nil)
103
+ new.check_if_a_person_is_followed_by_the_authenticated_user(username, options)
104
+ end
105
+
106
+ def self.follow_a_user(username: nil, options: nil)
107
+ new.follow_a_user(username, options)
108
+ end
109
+
110
+ def self.unfollow_a_user(username: nil, options: nil)
111
+ new.unfollow_a_user(username, options)
112
+ end
113
+
114
+ def self.list_followers_of_a_user(username: nil, options: nil)
115
+ new.list_followers_of_a_user(username, options)
116
+ end
117
+
118
+ def self.list_the_people_a_user_follows(username: nil, options: nil)
119
+ new.list_the_people_a_user_follows(username, options)
120
+ end
121
+
122
+ def self.check_if_a_user_follows_another_user(username: nil, target_user: nil, options: nil)
123
+ new.check_if_a_user_follows_another_user(username, target_user, options)
124
+ end
125
+
126
+ def self.list_gpg_keys_for_the_authenticated_user(options: nil)
127
+ new.list_gpg_keys_for_the_authenticated_user(options)
128
+ end
129
+
130
+ def self.create_a_gpg_key_for_the_authenticated_user(armored_public_key: nil, options: nil)
131
+ new.create_a_gpg_key_for_the_authenticated_user(armored_public_key, options)
132
+ end
133
+
134
+ def self.get_a_gpg_key_for_the_authenticated_user(gpg_key_id: nil, options: nil)
135
+ new.get_a_gpg_key_for_the_authenticated_user(gpg_key_id, options)
136
+ end
137
+
138
+ def self.delete_a_gpg_key_for_the_authenticated_user(gpg_key_id: nil, options: nil)
139
+ new.delete_a_gpg_key_for_the_authenticated_user(gpg_key_id, options)
140
+ end
141
+
142
+ def self.list_gpg_keys_for_a_user(username: nil, options: nil)
143
+ new.list_gpg_keys_for_a_user(username, options)
144
+ end
145
+
146
+ def self.list_public_ssh_keys_for_the_authenticated_user(options: nil)
147
+ new.list_public_ssh_keys_for_the_authenticated_user(options)
148
+ end
149
+
150
+ def self.create_a_public_ssh_key_for_the_authenticated_user(title: nil, key: nil, options: nil)
151
+ new.create_a_public_ssh_key_for_the_authenticated_user(title, key, options)
152
+ end
153
+
154
+ def self.get_a_public_ssh_key_for_the_authenticated_user(key_id: nil, options: nil)
155
+ new.get_a_public_ssh_key_for_the_authenticated_user(key_id, options)
156
+ end
157
+
158
+ def self.delete_a_public_ssh_key_for_the_authenticated_user(key_id: nil, options: nil)
159
+ new.delete_a_public_ssh_key_for_the_authenticated_user(key_id, options)
160
+ end
161
+
162
+ def self.list_public_keys_for_a_user(username: nil, options: nil)
163
+ new.list_public_keys_for_a_user(username, options)
164
+ end
165
+
166
+ private
167
+
168
+ # get the authenticated user
169
+ #
170
+ # @params options [Hash]
171
+ #
172
+ # @return UsersResult, UsersErrorResult
173
+ def get_the_authenticated_user(_options)
174
+ auth = nil
175
+ body = nil
176
+ headers = { accept: 'application/vnd.github.v3+json' }
177
+ params = nil
178
+ uri = "#{Gitabu::BASE_URL}/user"
179
+
180
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :get, params: params, uri: uri)
181
+
182
+ if http_call.successful?
183
+ UsersResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
184
+ else
185
+ UsersErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
186
+ end
187
+ end
188
+
189
+ # update the authenticated user
190
+ #
191
+ # @param name [String] The new name of the user.
192
+ # @param email [String] The publicly visible email address of the user.
193
+ # @param blog [String] The new blog URL of the user.
194
+ # @param twitter_username [String or null] The new Twitter username of the user.
195
+ # @param company [String] The new company of the user.
196
+ # @param location [String] The new location of the user.
197
+ # @param hireable [Boolean] The new hiring availability of the user.
198
+ # @param bio [String] The new short biography of the user.
199
+ #
200
+ # @return UsersResult, UsersErrorResult
201
+ def update_the_authenticated_user(name, email, blog, twitter_username, company, location, hireable, bio, _options)
202
+ auth = nil
203
+ body = { name: name, email: email, blog: blog, twitter_username: twitter_username, company: company, location: location, hireable: hireable, bio: bio }
204
+ headers = { accept: 'application/vnd.github.v3+json' }
205
+ params = nil
206
+ uri = "#{Gitabu::BASE_URL}/user"
207
+
208
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :patch, params: params, uri: uri)
209
+
210
+ if http_call.successful?
211
+ UsersResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
212
+ else
213
+ UsersErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
214
+ end
215
+ end
216
+
217
+ # list users
218
+ #
219
+ # @params options [Hash]
220
+ #
221
+ # @return UsersResult, UsersErrorResult
222
+ def list_users(options)
223
+ auth = nil
224
+ body = nil
225
+ headers = { accept: 'application/vnd.github.v3+json' }
226
+ params = { since: options[:since], per_page: options[:per_page] }
227
+ uri = "#{Gitabu::BASE_URL}/users"
228
+
229
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :get, params: params, uri: uri)
230
+
231
+ if http_call.successful?
232
+ UsersResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
233
+ else
234
+ UsersErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
235
+ end
236
+ end
237
+
238
+ # get a user
239
+ #
240
+ # @param username [String]
241
+ #
242
+ # @return UsersResult, UsersErrorResult
243
+ def get_a_user(username, _options)
244
+ auth = nil
245
+ body = nil
246
+ headers = { accept: 'application/vnd.github.v3+json' }
247
+ params = nil
248
+ uri = "#{Gitabu::BASE_URL}/users/#{username}"
249
+
250
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :get, params: params, uri: uri)
251
+
252
+ if http_call.successful?
253
+ UsersResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
254
+ else
255
+ UsersErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
256
+ end
257
+ end
258
+
259
+ # get contextual information for a user
260
+ #
261
+ # @param username [String]
262
+ #
263
+ # @return UsersResult, UsersErrorResult
264
+ def get_contextual_information_for_a_user(username, options)
265
+ auth = nil
266
+ body = nil
267
+ headers = { accept: 'application/vnd.github.v3+json' }
268
+ params = { subject_type: options[:subject_type], subject_id: options[:subject_id] }
269
+ uri = "#{Gitabu::BASE_URL}/users/#{username}/hovercard"
270
+
271
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :get, params: params, uri: uri)
272
+
273
+ if http_call.successful?
274
+ UsersResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
275
+ else
276
+ UsersErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
277
+ end
278
+ end
279
+
280
+ # list users blocked by the authenticated user
281
+ #
282
+ # @params options [Hash]
283
+ #
284
+ # @return UsersResult, UsersErrorResult
285
+ def list_users_blocked_by_the_authenticated_user(_options)
286
+ auth = nil
287
+ body = nil
288
+ headers = { accept: 'application/vnd.github.v3+json' }
289
+ params = nil
290
+ uri = "#{Gitabu::BASE_URL}/user/blocks"
291
+
292
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :get, params: params, uri: uri)
293
+
294
+ if http_call.successful?
295
+ UsersResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
296
+ else
297
+ UsersErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
298
+ end
299
+ end
300
+
301
+ # check if a user is blocked by the authenticated user
302
+ #
303
+ # @param username [String]
304
+ #
305
+ # @return UsersResult, UsersErrorResult
306
+ def check_if_a_user_is_blocked_by_the_authenticated_user(username, _options)
307
+ auth = nil
308
+ body = nil
309
+ headers = { accept: 'application/vnd.github.v3+json' }
310
+ params = nil
311
+ uri = "#{Gitabu::BASE_URL}/user/blocks/#{username}"
312
+
313
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :get, params: params, uri: uri)
314
+
315
+ if http_call.successful?
316
+ UsersResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
317
+ else
318
+ UsersErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
319
+ end
320
+ end
321
+
322
+ # block a user
323
+ #
324
+ # @param username [String]
325
+ #
326
+ # @return UsersResult, UsersErrorResult
327
+ def block_a_user(username, _options)
328
+ auth = nil
329
+ body = nil
330
+ headers = { accept: 'application/vnd.github.v3+json' }
331
+ params = nil
332
+ uri = "#{Gitabu::BASE_URL}/user/blocks/#{username}"
333
+
334
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :put, params: params, uri: uri)
335
+
336
+ if http_call.successful?
337
+ UsersResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
338
+ else
339
+ UsersErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
340
+ end
341
+ end
342
+
343
+ # unblock a user
344
+ #
345
+ # @param username [String]
346
+ #
347
+ # @return UsersResult, UsersErrorResult
348
+ def unblock_a_user(username, _options)
349
+ auth = nil
350
+ body = nil
351
+ headers = { accept: 'application/vnd.github.v3+json' }
352
+ params = nil
353
+ uri = "#{Gitabu::BASE_URL}/user/blocks/#{username}"
354
+
355
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :delete, params: params, uri: uri)
356
+
357
+ if http_call.successful?
358
+ UsersResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
359
+ else
360
+ UsersErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
361
+ end
362
+ end
363
+
364
+ # set primary email visibility for the authenticated user
365
+ #
366
+ # @param visibility [String] Required. Denotes whether an email is publicly visible.
367
+ #
368
+ # @return UsersResult, UsersErrorResult
369
+ def set_primary_email_visibility_for_the_authenticated_user(visibility, _options)
370
+ auth = nil
371
+ body = { visibility: visibility }
372
+ headers = { accept: 'application/vnd.github.v3+json' }
373
+ params = nil
374
+ uri = "#{Gitabu::BASE_URL}/user/email/visibility"
375
+
376
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :patch, params: params, uri: uri)
377
+
378
+ if http_call.successful?
379
+ UsersResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
380
+ else
381
+ UsersErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
382
+ end
383
+ end
384
+
385
+ # list email addresses for the authenticated user
386
+ #
387
+ # @params options [Hash]
388
+ #
389
+ # @return UsersResult, UsersErrorResult
390
+ def list_email_addresses_for_the_authenticated_user(options)
391
+ auth = nil
392
+ body = nil
393
+ headers = { accept: 'application/vnd.github.v3+json' }
394
+ params = { per_page: options[:per_page], page: options[:page] }
395
+ uri = "#{Gitabu::BASE_URL}/user/emails"
396
+
397
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :get, params: params, uri: uri)
398
+
399
+ if http_call.successful?
400
+ UsersResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
401
+ else
402
+ UsersErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
403
+ end
404
+ end
405
+
406
+ # add an email address for the authenticated user
407
+ #
408
+ # @param emails [Array of strings] Required. Adds one or more email addresses to your GitHub account. Must contain at least one email address. Note: Alternatively, you can pass a single email address or an array of emails addresses directly, but we recommend that you pass an object using the emails key.
409
+ #
410
+ # @return UsersResult, UsersErrorResult
411
+ def add_an_email_address_for_the_authenticated_user(emails, _options)
412
+ auth = nil
413
+ body = { emails: emails }
414
+ headers = { accept: 'application/vnd.github.v3+json' }
415
+ params = nil
416
+ uri = "#{Gitabu::BASE_URL}/user/emails"
417
+
418
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :post, params: params, uri: uri)
419
+
420
+ if http_call.successful?
421
+ UsersResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
422
+ else
423
+ UsersErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
424
+ end
425
+ end
426
+
427
+ # delete an email address for the authenticated user
428
+ #
429
+ # @param emails [Array of strings] Required. Email addresses associated with the GitHub user account.
430
+ #
431
+ # @return UsersResult, UsersErrorResult
432
+ def delete_an_email_address_for_the_authenticated_user(emails, _options)
433
+ auth = nil
434
+ body = { emails: emails }
435
+ headers = { accept: 'application/vnd.github.v3+json' }
436
+ params = nil
437
+ uri = "#{Gitabu::BASE_URL}/user/emails"
438
+
439
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :delete, params: params, uri: uri)
440
+
441
+ if http_call.successful?
442
+ UsersResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
443
+ else
444
+ UsersErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
445
+ end
446
+ end
447
+
448
+ # list public email addresses for the authenticated user
449
+ #
450
+ # @params options [Hash]
451
+ #
452
+ # @return UsersResult, UsersErrorResult
453
+ def list_public_email_addresses_for_the_authenticated_user(options)
454
+ auth = nil
455
+ body = nil
456
+ headers = { accept: 'application/vnd.github.v3+json' }
457
+ params = { per_page: options[:per_page], page: options[:page] }
458
+ uri = "#{Gitabu::BASE_URL}/user/public_emails"
459
+
460
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :get, params: params, uri: uri)
461
+
462
+ if http_call.successful?
463
+ UsersResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
464
+ else
465
+ UsersErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
466
+ end
467
+ end
468
+
469
+ # list followers of the authenticated user
470
+ #
471
+ # @params options [Hash]
472
+ #
473
+ # @return UsersResult, UsersErrorResult
474
+ def list_followers_of_the_authenticated_user(options)
475
+ auth = nil
476
+ body = nil
477
+ headers = { accept: 'application/vnd.github.v3+json' }
478
+ params = { per_page: options[:per_page], page: options[:page] }
479
+ uri = "#{Gitabu::BASE_URL}/user/followers"
480
+
481
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :get, params: params, uri: uri)
482
+
483
+ if http_call.successful?
484
+ UsersResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
485
+ else
486
+ UsersErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
487
+ end
488
+ end
489
+
490
+ # list the people the authenticated user follows
491
+ #
492
+ # @params options [Hash]
493
+ #
494
+ # @return UsersResult, UsersErrorResult
495
+ def list_the_people_the_authenticated_user_follows(options)
496
+ auth = nil
497
+ body = nil
498
+ headers = { accept: 'application/vnd.github.v3+json' }
499
+ params = { per_page: options[:per_page], page: options[:page] }
500
+ uri = "#{Gitabu::BASE_URL}/user/following"
501
+
502
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :get, params: params, uri: uri)
503
+
504
+ if http_call.successful?
505
+ UsersResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
506
+ else
507
+ UsersErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
508
+ end
509
+ end
510
+
511
+ # check if a person is followed by the authenticated user
512
+ #
513
+ # @param username [String]
514
+ #
515
+ # @return UsersResult, UsersErrorResult
516
+ def check_if_a_person_is_followed_by_the_authenticated_user(username, _options)
517
+ auth = nil
518
+ body = nil
519
+ headers = { accept: 'application/vnd.github.v3+json' }
520
+ params = nil
521
+ uri = "#{Gitabu::BASE_URL}/user/following/#{username}"
522
+
523
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :get, params: params, uri: uri)
524
+
525
+ if http_call.successful?
526
+ UsersResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
527
+ else
528
+ UsersErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
529
+ end
530
+ end
531
+
532
+ # follow a user
533
+ #
534
+ # @param username [String]
535
+ #
536
+ # @return UsersResult, UsersErrorResult
537
+ def follow_a_user(username, _options)
538
+ auth = nil
539
+ body = nil
540
+ headers = { accept: 'application/vnd.github.v3+json' }
541
+ params = nil
542
+ uri = "#{Gitabu::BASE_URL}/user/following/#{username}"
543
+
544
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :put, params: params, uri: uri)
545
+
546
+ if http_call.successful?
547
+ UsersResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
548
+ else
549
+ UsersErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
550
+ end
551
+ end
552
+
553
+ # unfollow a user
554
+ #
555
+ # @param username [String]
556
+ #
557
+ # @return UsersResult, UsersErrorResult
558
+ def unfollow_a_user(username, _options)
559
+ auth = nil
560
+ body = nil
561
+ headers = { accept: 'application/vnd.github.v3+json' }
562
+ params = nil
563
+ uri = "#{Gitabu::BASE_URL}/user/following/#{username}"
564
+
565
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :delete, params: params, uri: uri)
566
+
567
+ if http_call.successful?
568
+ UsersResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
569
+ else
570
+ UsersErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
571
+ end
572
+ end
573
+
574
+ # list followers of a user
575
+ #
576
+ # @param username [String]
577
+ #
578
+ # @return UsersResult, UsersErrorResult
579
+ def list_followers_of_a_user(username, options)
580
+ auth = nil
581
+ body = nil
582
+ headers = { accept: 'application/vnd.github.v3+json' }
583
+ params = { per_page: options[:per_page], page: options[:page] }
584
+ uri = "#{Gitabu::BASE_URL}/users/#{username}/followers"
585
+
586
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :get, params: params, uri: uri)
587
+
588
+ if http_call.successful?
589
+ UsersResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
590
+ else
591
+ UsersErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
592
+ end
593
+ end
594
+
595
+ # list the people a user follows
596
+ #
597
+ # @param username [String]
598
+ #
599
+ # @return UsersResult, UsersErrorResult
600
+ def list_the_people_a_user_follows(username, options)
601
+ auth = nil
602
+ body = nil
603
+ headers = { accept: 'application/vnd.github.v3+json' }
604
+ params = { per_page: options[:per_page], page: options[:page] }
605
+ uri = "#{Gitabu::BASE_URL}/users/#{username}/following"
606
+
607
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :get, params: params, uri: uri)
608
+
609
+ if http_call.successful?
610
+ UsersResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
611
+ else
612
+ UsersErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
613
+ end
614
+ end
615
+
616
+ # check if a user follows another user
617
+ #
618
+ # @param username [String]
619
+ # @param target_user [String]
620
+ #
621
+ # @return UsersResult, UsersErrorResult
622
+ def check_if_a_user_follows_another_user(username, target_user, _options)
623
+ auth = nil
624
+ body = nil
625
+ headers = { accept: 'application/vnd.github.v3+json' }
626
+ params = nil
627
+ uri = "#{Gitabu::BASE_URL}/users/#{username}/following/#{target_user}"
628
+
629
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :get, params: params, uri: uri)
630
+
631
+ if http_call.successful?
632
+ UsersResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
633
+ else
634
+ UsersErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
635
+ end
636
+ end
637
+
638
+ # list gpg keys for the authenticated user
639
+ #
640
+ # @params options [Hash]
641
+ #
642
+ # @return UsersResult, UsersErrorResult
643
+ def list_gpg_keys_for_the_authenticated_user(options)
644
+ auth = nil
645
+ body = nil
646
+ headers = { accept: 'application/vnd.github.v3+json' }
647
+ params = { per_page: options[:per_page], page: options[:page] }
648
+ uri = "#{Gitabu::BASE_URL}/user/gpg_keys"
649
+
650
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :get, params: params, uri: uri)
651
+
652
+ if http_call.successful?
653
+ UsersResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
654
+ else
655
+ UsersErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
656
+ end
657
+ end
658
+
659
+ # create a gpg key for the authenticated user
660
+ #
661
+ # @param armored_public_key [String] Required. A GPG key in ASCII-armored format.
662
+ #
663
+ # @return UsersResult, UsersErrorResult
664
+ def create_a_gpg_key_for_the_authenticated_user(armored_public_key, _options)
665
+ auth = nil
666
+ body = { armored_public_key: armored_public_key }
667
+ headers = { accept: 'application/vnd.github.v3+json' }
668
+ params = nil
669
+ uri = "#{Gitabu::BASE_URL}/user/gpg_keys"
670
+
671
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :post, params: params, uri: uri)
672
+
673
+ if http_call.successful?
674
+ UsersResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
675
+ else
676
+ UsersErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
677
+ end
678
+ end
679
+
680
+ # get a gpg key for the authenticated user
681
+ #
682
+ # @param gpg_key_id [Integer] gpg_key_id parameter
683
+ #
684
+ # @return UsersResult, UsersErrorResult
685
+ def get_a_gpg_key_for_the_authenticated_user(gpg_key_id, _options)
686
+ auth = nil
687
+ body = nil
688
+ headers = { accept: 'application/vnd.github.v3+json' }
689
+ params = nil
690
+ uri = "#{Gitabu::BASE_URL}/user/gpg_keys/#{gpg_key_id}"
691
+
692
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :get, params: params, uri: uri)
693
+
694
+ if http_call.successful?
695
+ UsersResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
696
+ else
697
+ UsersErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
698
+ end
699
+ end
700
+
701
+ # delete a gpg key for the authenticated user
702
+ #
703
+ # @param gpg_key_id [Integer] gpg_key_id parameter
704
+ #
705
+ # @return UsersResult, UsersErrorResult
706
+ def delete_a_gpg_key_for_the_authenticated_user(gpg_key_id, _options)
707
+ auth = nil
708
+ body = nil
709
+ headers = { accept: 'application/vnd.github.v3+json' }
710
+ params = nil
711
+ uri = "#{Gitabu::BASE_URL}/user/gpg_keys/#{gpg_key_id}"
712
+
713
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :delete, params: params, uri: uri)
714
+
715
+ if http_call.successful?
716
+ UsersResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
717
+ else
718
+ UsersErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
719
+ end
720
+ end
721
+
722
+ # list gpg keys for a user
723
+ #
724
+ # @param username [String]
725
+ #
726
+ # @return UsersResult, UsersErrorResult
727
+ def list_gpg_keys_for_a_user(username, options)
728
+ auth = nil
729
+ body = nil
730
+ headers = { accept: 'application/vnd.github.v3+json' }
731
+ params = { per_page: options[:per_page], page: options[:page] }
732
+ uri = "#{Gitabu::BASE_URL}/users/#{username}/gpg_keys"
733
+
734
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :get, params: params, uri: uri)
735
+
736
+ if http_call.successful?
737
+ UsersResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
738
+ else
739
+ UsersErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
740
+ end
741
+ end
742
+
743
+ # list public ssh keys for the authenticated user
744
+ #
745
+ # @params options [Hash]
746
+ #
747
+ # @return UsersResult, UsersErrorResult
748
+ def list_public_ssh_keys_for_the_authenticated_user(options)
749
+ auth = nil
750
+ body = nil
751
+ headers = { accept: 'application/vnd.github.v3+json' }
752
+ params = { per_page: options[:per_page], page: options[:page] }
753
+ uri = "#{Gitabu::BASE_URL}/user/keys"
754
+
755
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :get, params: params, uri: uri)
756
+
757
+ if http_call.successful?
758
+ UsersResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
759
+ else
760
+ UsersErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
761
+ end
762
+ end
763
+
764
+ # create a public ssh key for the authenticated user
765
+ #
766
+ # @param title [String] A descriptive name for the new key.
767
+ # @param key [String] Required. The public SSH key to add to your GitHub account.
768
+ #
769
+ # @return UsersResult, UsersErrorResult
770
+ def create_a_public_ssh_key_for_the_authenticated_user(title, key, _options)
771
+ auth = nil
772
+ body = { title: title, key: key }
773
+ headers = { accept: 'application/vnd.github.v3+json' }
774
+ params = nil
775
+ uri = "#{Gitabu::BASE_URL}/user/keys"
776
+
777
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :post, params: params, uri: uri)
778
+
779
+ if http_call.successful?
780
+ UsersResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
781
+ else
782
+ UsersErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
783
+ end
784
+ end
785
+
786
+ # get a public ssh key for the authenticated user
787
+ #
788
+ # @param key_id [Integer] key_id parameter
789
+ #
790
+ # @return UsersResult, UsersErrorResult
791
+ def get_a_public_ssh_key_for_the_authenticated_user(key_id, _options)
792
+ auth = nil
793
+ body = nil
794
+ headers = { accept: 'application/vnd.github.v3+json' }
795
+ params = nil
796
+ uri = "#{Gitabu::BASE_URL}/user/keys/#{key_id}"
797
+
798
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :get, params: params, uri: uri)
799
+
800
+ if http_call.successful?
801
+ UsersResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
802
+ else
803
+ UsersErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
804
+ end
805
+ end
806
+
807
+ # delete a public ssh key for the authenticated user
808
+ #
809
+ # @param key_id [Integer] key_id parameter
810
+ #
811
+ # @return UsersResult, UsersErrorResult
812
+ def delete_a_public_ssh_key_for_the_authenticated_user(key_id, _options)
813
+ auth = nil
814
+ body = nil
815
+ headers = { accept: 'application/vnd.github.v3+json' }
816
+ params = nil
817
+ uri = "#{Gitabu::BASE_URL}/user/keys/#{key_id}"
818
+
819
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :delete, params: params, uri: uri)
820
+
821
+ if http_call.successful?
822
+ UsersResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
823
+ else
824
+ UsersErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
825
+ end
826
+ end
827
+
828
+ # list public keys for a user
829
+ #
830
+ # @param username [String]
831
+ #
832
+ # @return UsersResult, UsersErrorResult
833
+ def list_public_keys_for_a_user(username, options)
834
+ auth = nil
835
+ body = nil
836
+ headers = { accept: 'application/vnd.github.v3+json' }
837
+ params = { per_page: options[:per_page], page: options[:page] }
838
+ uri = "#{Gitabu::BASE_URL}/users/#{username}/keys"
839
+
840
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :get, params: params, uri: uri)
841
+
842
+ if http_call.successful?
843
+ UsersResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
844
+ else
845
+ UsersErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
846
+ end
847
+ end
848
+ end
849
+ end
850
+ end
851
+ end