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,275 @@
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 Interactions result
17
+ class InteractionsResult
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 InteractionsErrorResult
28
+ attr_accessor :result, :message
29
+
30
+ def initialize(result:, message:)
31
+ @result = result
32
+ @message = message
33
+ end
34
+ end
35
+
36
+ # Interactions endpoints.
37
+ class Interactions
38
+ def self.get_interaction_restrictions_for_an_organization(org: nil, options: nil)
39
+ new.get_interaction_restrictions_for_an_organization(org, options)
40
+ end
41
+
42
+ def self.set_interaction_restrictions_for_an_organization(org: nil, limit: nil, expiry: nil, options: nil)
43
+ new.set_interaction_restrictions_for_an_organization(org, limit, expiry, options)
44
+ end
45
+
46
+ def self.remove_interaction_restrictions_for_an_organization(org: nil, options: nil)
47
+ new.remove_interaction_restrictions_for_an_organization(org, options)
48
+ end
49
+
50
+ def self.get_interaction_restrictions_for_a_repository(owner: nil, repo: nil, options: nil)
51
+ new.get_interaction_restrictions_for_a_repository(owner, repo, options)
52
+ end
53
+
54
+ def self.set_interaction_restrictions_for_a_repository(owner: nil, repo: nil, limit: nil, expiry: nil, options: nil)
55
+ new.set_interaction_restrictions_for_a_repository(owner, repo, limit, expiry, options)
56
+ end
57
+
58
+ def self.remove_interaction_restrictions_for_a_repository(owner: nil, repo: nil, options: nil)
59
+ new.remove_interaction_restrictions_for_a_repository(owner, repo, options)
60
+ end
61
+
62
+ def self.get_interaction_restrictions_for_your_public_repositories(options: nil)
63
+ new.get_interaction_restrictions_for_your_public_repositories(options)
64
+ end
65
+
66
+ def self.set_interaction_restrictions_for_your_public_repositories(limit: nil, expiry: nil, options: nil)
67
+ new.set_interaction_restrictions_for_your_public_repositories(limit, expiry, options)
68
+ end
69
+
70
+ def self.remove_interaction_restrictions_from_your_public_repositories(options: nil)
71
+ new.remove_interaction_restrictions_from_your_public_repositories(options)
72
+ end
73
+
74
+ private
75
+
76
+ # get interaction restrictions for an organization
77
+ #
78
+ # @param org [String]
79
+ #
80
+ # @return InteractionsResult, InteractionsErrorResult
81
+ def get_interaction_restrictions_for_an_organization(org, _options)
82
+ auth = nil
83
+ body = nil
84
+ headers = { accept: 'application/vnd.github.v3+json' }
85
+ params = nil
86
+ uri = "#{Gitabu::BASE_URL}/orgs/#{org}/interaction-limits"
87
+
88
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :get, params: params, uri: uri)
89
+
90
+ if http_call.successful?
91
+ InteractionsResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
92
+ else
93
+ InteractionsErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
94
+ end
95
+ end
96
+
97
+ # set interaction restrictions for an organization
98
+ #
99
+ # @param org [String]
100
+ # @param limit [String] Required. The type of GitHub user that can comment, open issues, or create pull requests while the interaction limit is in effect. Can be one of: existing_users, contributors_only, collaborators_only.
101
+ # @param expiry [String] The duration of the interaction restriction. Can be one of: one_day, three_days, one_week, one_month, six_months. Default: one_day.
102
+ #
103
+ # @return InteractionsResult, InteractionsErrorResult
104
+ def set_interaction_restrictions_for_an_organization(org, limit, expiry, _options)
105
+ auth = nil
106
+ body = { limit: limit, expiry: expiry }
107
+ headers = { accept: 'application/vnd.github.v3+json' }
108
+ params = nil
109
+ uri = "#{Gitabu::BASE_URL}/orgs/#{org}/interaction-limits"
110
+
111
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :put, params: params, uri: uri)
112
+
113
+ if http_call.successful?
114
+ InteractionsResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
115
+ else
116
+ InteractionsErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
117
+ end
118
+ end
119
+
120
+ # remove interaction restrictions for an organization
121
+ #
122
+ # @param org [String]
123
+ #
124
+ # @return InteractionsResult, InteractionsErrorResult
125
+ def remove_interaction_restrictions_for_an_organization(org, _options)
126
+ auth = nil
127
+ body = nil
128
+ headers = { accept: 'application/vnd.github.v3+json' }
129
+ params = nil
130
+ uri = "#{Gitabu::BASE_URL}/orgs/#{org}/interaction-limits"
131
+
132
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :delete, params: params, uri: uri)
133
+
134
+ if http_call.successful?
135
+ InteractionsResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
136
+ else
137
+ InteractionsErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
138
+ end
139
+ end
140
+
141
+ # get interaction restrictions for a repository
142
+ #
143
+ # @param owner [String]
144
+ # @param repo [String]
145
+ #
146
+ # @return InteractionsResult, InteractionsErrorResult
147
+ def get_interaction_restrictions_for_a_repository(owner, repo, _options)
148
+ auth = nil
149
+ body = nil
150
+ headers = { accept: 'application/vnd.github.v3+json' }
151
+ params = nil
152
+ uri = "#{Gitabu::BASE_URL}/repos/#{owner}/#{repo}/interaction-limits"
153
+
154
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :get, params: params, uri: uri)
155
+
156
+ if http_call.successful?
157
+ InteractionsResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
158
+ else
159
+ InteractionsErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
160
+ end
161
+ end
162
+
163
+ # set interaction restrictions for a repository
164
+ #
165
+ # @param owner [String]
166
+ # @param repo [String]
167
+ # @param limit [String] Required. The type of GitHub user that can comment, open issues, or create pull requests while the interaction limit is in effect. Can be one of: existing_users, contributors_only, collaborators_only.
168
+ # @param expiry [String] The duration of the interaction restriction. Can be one of: one_day, three_days, one_week, one_month, six_months. Default: one_day.
169
+ #
170
+ # @return InteractionsResult, InteractionsErrorResult
171
+ def set_interaction_restrictions_for_a_repository(owner, repo, limit, expiry, _options)
172
+ auth = nil
173
+ body = { limit: limit, expiry: expiry }
174
+ headers = { accept: 'application/vnd.github.v3+json' }
175
+ params = nil
176
+ uri = "#{Gitabu::BASE_URL}/repos/#{owner}/#{repo}/interaction-limits"
177
+
178
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :put, params: params, uri: uri)
179
+
180
+ if http_call.successful?
181
+ InteractionsResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
182
+ else
183
+ InteractionsErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
184
+ end
185
+ end
186
+
187
+ # remove interaction restrictions for a repository
188
+ #
189
+ # @param owner [String]
190
+ # @param repo [String]
191
+ #
192
+ # @return InteractionsResult, InteractionsErrorResult
193
+ def remove_interaction_restrictions_for_a_repository(owner, repo, _options)
194
+ auth = nil
195
+ body = nil
196
+ headers = { accept: 'application/vnd.github.v3+json' }
197
+ params = nil
198
+ uri = "#{Gitabu::BASE_URL}/repos/#{owner}/#{repo}/interaction-limits"
199
+
200
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :delete, params: params, uri: uri)
201
+
202
+ if http_call.successful?
203
+ InteractionsResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
204
+ else
205
+ InteractionsErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
206
+ end
207
+ end
208
+
209
+ # get interaction restrictions for your public repositories
210
+ #
211
+ # @params options [Hash]
212
+ #
213
+ # @return InteractionsResult, InteractionsErrorResult
214
+ def get_interaction_restrictions_for_your_public_repositories(_options)
215
+ auth = nil
216
+ body = nil
217
+ headers = { accept: 'application/vnd.github.v3+json' }
218
+ params = nil
219
+ uri = "#{Gitabu::BASE_URL}/user/interaction-limits"
220
+
221
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :get, params: params, uri: uri)
222
+
223
+ if http_call.successful?
224
+ InteractionsResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
225
+ else
226
+ InteractionsErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
227
+ end
228
+ end
229
+
230
+ # set interaction restrictions for your public repositories
231
+ #
232
+ # @param limit [String] Required. The type of GitHub user that can comment, open issues, or create pull requests while the interaction limit is in effect. Can be one of: existing_users, contributors_only, collaborators_only.
233
+ # @param expiry [String] The duration of the interaction restriction. Can be one of: one_day, three_days, one_week, one_month, six_months. Default: one_day.
234
+ #
235
+ # @return InteractionsResult, InteractionsErrorResult
236
+ def set_interaction_restrictions_for_your_public_repositories(limit, expiry, _options)
237
+ auth = nil
238
+ body = { limit: limit, expiry: expiry }
239
+ headers = { accept: 'application/vnd.github.v3+json' }
240
+ params = nil
241
+ uri = "#{Gitabu::BASE_URL}/user/interaction-limits"
242
+
243
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :put, params: params, uri: uri)
244
+
245
+ if http_call.successful?
246
+ InteractionsResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
247
+ else
248
+ InteractionsErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
249
+ end
250
+ end
251
+
252
+ # remove interaction restrictions from your public repositories
253
+ #
254
+ # @params options [Hash]
255
+ #
256
+ # @return InteractionsResult, InteractionsErrorResult
257
+ def remove_interaction_restrictions_from_your_public_repositories(_options)
258
+ auth = nil
259
+ body = nil
260
+ headers = { accept: 'application/vnd.github.v3+json' }
261
+ params = nil
262
+ uri = "#{Gitabu::BASE_URL}/user/interaction-limits"
263
+
264
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :delete, params: params, uri: uri)
265
+
266
+ if http_call.successful?
267
+ InteractionsResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
268
+ else
269
+ InteractionsErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
270
+ end
271
+ end
272
+ end
273
+ end
274
+ end
275
+ end