labclient 0.3.2 → 0.4.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (645) hide show
  1. checksums.yaml +4 -4
  2. data/lib/labclient.rb +7 -2
  3. data/lib/labclient/access_levels.rb +0 -0
  4. data/lib/labclient/appearance/appearance.rb +0 -0
  5. data/lib/labclient/appearance/show.rb +0 -0
  6. data/lib/labclient/appearance/update.rb +0 -0
  7. data/lib/labclient/application_settings/application_setting.rb +0 -0
  8. data/lib/labclient/application_settings/show.rb +0 -0
  9. data/lib/labclient/application_settings/update.rb +0 -0
  10. data/lib/labclient/application_statistics/application_statistics.rb +0 -0
  11. data/lib/labclient/applications/application.rb +0 -0
  12. data/lib/labclient/applications/create.rb +0 -0
  13. data/lib/labclient/applications/delete.rb +0 -0
  14. data/lib/labclient/applications/list.rb +0 -0
  15. data/lib/labclient/approvals/client.rb +0 -0
  16. data/lib/labclient/approvals/merge_approval.rb +0 -0
  17. data/lib/labclient/approvals/merge_request/approve.rb +0 -0
  18. data/lib/labclient/approvals/merge_request/create_rule.rb +0 -0
  19. data/lib/labclient/approvals/merge_request/delete_rule.rb +0 -0
  20. data/lib/labclient/approvals/merge_request/rules.rb +0 -0
  21. data/lib/labclient/approvals/merge_request/show.rb +0 -0
  22. data/lib/labclient/approvals/merge_request/unapprove.rb +0 -0
  23. data/lib/labclient/approvals/merge_request/update.rb +0 -0
  24. data/lib/labclient/approvals/merge_request/update_rule.rb +0 -0
  25. data/lib/labclient/approvals/project/create_rule.rb +0 -0
  26. data/lib/labclient/approvals/project/delete_rule.rb +0 -0
  27. data/lib/labclient/approvals/project/rules.rb +0 -0
  28. data/lib/labclient/approvals/project/show.rb +0 -0
  29. data/lib/labclient/approvals/project/update.rb +0 -0
  30. data/lib/labclient/approvals/project/update_rule.rb +0 -0
  31. data/lib/labclient/approvals/rule.rb +0 -0
  32. data/lib/labclient/audit_events/audit_event.rb +0 -0
  33. data/lib/labclient/audit_events/group_list.rb +0 -0
  34. data/lib/labclient/audit_events/group_show.rb +0 -0
  35. data/lib/labclient/audit_events/instance_list.rb +0 -0
  36. data/lib/labclient/audit_events/instance_show.rb +0 -0
  37. data/lib/labclient/avatar/avatar.rb +0 -0
  38. data/lib/labclient/avatar/show.rb +0 -0
  39. data/lib/labclient/awards/award.rb +0 -0
  40. data/lib/labclient/awards/issues/client.rb +0 -0
  41. data/lib/labclient/awards/issues/create.rb +0 -0
  42. data/lib/labclient/awards/issues/delete.rb +0 -0
  43. data/lib/labclient/awards/issues/list.rb +0 -0
  44. data/lib/labclient/awards/issues/show.rb +0 -0
  45. data/lib/labclient/awards/merge_requests/client.rb +0 -0
  46. data/lib/labclient/awards/merge_requests/create.rb +0 -0
  47. data/lib/labclient/awards/merge_requests/delete.rb +0 -0
  48. data/lib/labclient/awards/merge_requests/list.rb +0 -0
  49. data/lib/labclient/awards/merge_requests/show.rb +0 -0
  50. data/lib/labclient/awards/snippets/client.rb +0 -0
  51. data/lib/labclient/awards/snippets/create.rb +0 -0
  52. data/lib/labclient/awards/snippets/delete.rb +0 -0
  53. data/lib/labclient/awards/snippets/list.rb +0 -0
  54. data/lib/labclient/awards/snippets/show.rb +0 -0
  55. data/lib/labclient/branches/branch.rb +1 -1
  56. data/lib/labclient/branches/create.rb +0 -0
  57. data/lib/labclient/branches/delete.rb +0 -0
  58. data/lib/labclient/branches/delete_merged.rb +0 -0
  59. data/lib/labclient/branches/list.rb +0 -0
  60. data/lib/labclient/branches/show.rb +0 -0
  61. data/lib/labclient/broadcast_messages/broadcast_message.rb +0 -0
  62. data/lib/labclient/broadcast_messages/create.rb +0 -0
  63. data/lib/labclient/broadcast_messages/delete.rb +0 -0
  64. data/lib/labclient/broadcast_messages/list.rb +0 -0
  65. data/lib/labclient/broadcast_messages/show.rb +0 -0
  66. data/lib/labclient/broadcast_messages/update.rb +0 -0
  67. data/lib/labclient/ci_lint/ci_lint.rb +0 -0
  68. data/lib/labclient/class_helpers.rb +0 -0
  69. data/lib/labclient/client.rb +42 -155
  70. data/lib/labclient/client/helpers.rb +112 -0
  71. data/lib/labclient/client/meta.rb +81 -0
  72. data/lib/labclient/client/setup.rb +52 -0
  73. data/lib/labclient/commits/cherry_pick.rb +0 -0
  74. data/lib/labclient/commits/comment_create.rb +0 -0
  75. data/lib/labclient/commits/comments.rb +0 -0
  76. data/lib/labclient/commits/commit.rb +0 -0
  77. data/lib/labclient/commits/commit_comment.rb +0 -0
  78. data/lib/labclient/commits/commit_diff.rb +0 -0
  79. data/lib/labclient/commits/create.rb +0 -0
  80. data/lib/labclient/commits/diff.rb +0 -0
  81. data/lib/labclient/commits/list.rb +0 -0
  82. data/lib/labclient/commits/merge_requests.rb +0 -0
  83. data/lib/labclient/commits/project_helpers.rb +0 -0
  84. data/lib/labclient/commits/refs.rb +0 -0
  85. data/lib/labclient/commits/revert.rb +0 -0
  86. data/lib/labclient/commits/show.rb +0 -0
  87. data/lib/labclient/commits/status/list.rb +0 -0
  88. data/lib/labclient/commits/status/status.rb +0 -0
  89. data/lib/labclient/commits/status/update.rb +0 -0
  90. data/lib/labclient/common.rb +9 -4
  91. data/lib/labclient/curl.rb +0 -0
  92. data/lib/labclient/deploy_keys/add.rb +0 -0
  93. data/lib/labclient/deploy_keys/delete.rb +0 -0
  94. data/lib/labclient/deploy_keys/deploy_key.rb +0 -0
  95. data/lib/labclient/deploy_keys/enable.rb +0 -0
  96. data/lib/labclient/deploy_keys/list.rb +0 -0
  97. data/lib/labclient/deploy_keys/project_helpers.rb +0 -0
  98. data/lib/labclient/deploy_keys/show.rb +0 -0
  99. data/lib/labclient/deploy_keys/update.rb +0 -0
  100. data/lib/labclient/discussions/commits/client.rb +0 -0
  101. data/lib/labclient/discussions/commits/create.rb +0 -0
  102. data/lib/labclient/discussions/commits/delete.rb +0 -0
  103. data/lib/labclient/discussions/commits/list.rb +0 -0
  104. data/lib/labclient/discussions/commits/show.rb +0 -0
  105. data/lib/labclient/discussions/commits/update.rb +0 -0
  106. data/lib/labclient/discussions/discussion.rb +0 -0
  107. data/lib/labclient/discussions/epics/client.rb +0 -0
  108. data/lib/labclient/discussions/epics/create.rb +0 -0
  109. data/lib/labclient/discussions/epics/delete.rb +0 -0
  110. data/lib/labclient/discussions/epics/list.rb +0 -0
  111. data/lib/labclient/discussions/epics/show.rb +0 -0
  112. data/lib/labclient/discussions/epics/update.rb +0 -0
  113. data/lib/labclient/discussions/issues/client.rb +0 -0
  114. data/lib/labclient/discussions/issues/create.rb +0 -0
  115. data/lib/labclient/discussions/issues/delete.rb +0 -0
  116. data/lib/labclient/discussions/issues/list.rb +0 -0
  117. data/lib/labclient/discussions/issues/show.rb +0 -0
  118. data/lib/labclient/discussions/issues/update.rb +0 -0
  119. data/lib/labclient/discussions/merge_requests/client.rb +0 -0
  120. data/lib/labclient/discussions/merge_requests/create.rb +0 -0
  121. data/lib/labclient/discussions/merge_requests/delete.rb +0 -0
  122. data/lib/labclient/discussions/merge_requests/list.rb +0 -0
  123. data/lib/labclient/discussions/merge_requests/show.rb +0 -0
  124. data/lib/labclient/discussions/merge_requests/update.rb +0 -0
  125. data/lib/labclient/discussions/snippets/client.rb +0 -0
  126. data/lib/labclient/discussions/snippets/create.rb +0 -0
  127. data/lib/labclient/discussions/snippets/delete.rb +0 -0
  128. data/lib/labclient/discussions/snippets/list.rb +0 -0
  129. data/lib/labclient/discussions/snippets/show.rb +0 -0
  130. data/lib/labclient/discussions/snippets/update.rb +0 -0
  131. data/lib/labclient/docs.rb +6 -1
  132. data/lib/labclient/epics/create.rb +0 -0
  133. data/lib/labclient/epics/delete.rb +0 -0
  134. data/lib/labclient/epics/epic.rb +0 -0
  135. data/lib/labclient/epics/issues/add.rb +0 -0
  136. data/lib/labclient/epics/issues/list.rb +0 -0
  137. data/lib/labclient/epics/issues/remove.rb +1 -1
  138. data/lib/labclient/epics/issues/update.rb +1 -1
  139. data/lib/labclient/epics/list.rb +0 -0
  140. data/lib/labclient/epics/show.rb +0 -0
  141. data/lib/labclient/epics/todo.rb +0 -0
  142. data/lib/labclient/epics/update.rb +0 -0
  143. data/lib/labclient/error.rb +9 -0
  144. data/lib/labclient/events/event.rb +0 -0
  145. data/lib/labclient/events/list.rb +0 -0
  146. data/lib/labclient/events/project.rb +0 -0
  147. data/lib/labclient/events/user.rb +0 -0
  148. data/lib/labclient/feature_flags/create.rb +0 -0
  149. data/lib/labclient/feature_flags/delete.rb +0 -0
  150. data/lib/labclient/feature_flags/feature_flag.rb +0 -0
  151. data/lib/labclient/feature_flags/list.rb +0 -0
  152. data/lib/labclient/files/create.rb +0 -0
  153. data/lib/labclient/files/delete.rb +3 -0
  154. data/lib/labclient/files/show.rb +3 -0
  155. data/lib/labclient/files/update.rb +3 -0
  156. data/lib/labclient/generator/generator.rb +0 -0
  157. data/lib/labclient/generator/names.rb +0 -0
  158. data/lib/labclient/generator/template_helper.rb +4 -3
  159. data/lib/labclient/generator/templates/environments.rb +0 -0
  160. data/lib/labclient/generator/templates/pages.rb +0 -0
  161. data/lib/labclient/generator/templates/pipeline_trigger.rb +0 -0
  162. data/lib/labclient/generator/wizard.rb +11 -10
  163. data/lib/labclient/groups/access_requests/access_request.rb +0 -0
  164. data/lib/labclient/groups/access_requests/approve.rb +0 -0
  165. data/lib/labclient/groups/access_requests/client.rb +0 -0
  166. data/lib/labclient/groups/access_requests/create.rb +0 -0
  167. data/lib/labclient/groups/access_requests/deny.rb +0 -0
  168. data/lib/labclient/groups/access_requests/list.rb +0 -0
  169. data/lib/labclient/groups/badges/client.rb +0 -0
  170. data/lib/labclient/groups/badges/create.rb +0 -0
  171. data/lib/labclient/groups/badges/delete.rb +0 -0
  172. data/lib/labclient/groups/badges/group_badge.rb +0 -0
  173. data/lib/labclient/groups/badges/list.rb +0 -0
  174. data/lib/labclient/groups/badges/preview.rb +0 -0
  175. data/lib/labclient/groups/badges/show.rb +0 -0
  176. data/lib/labclient/groups/badges/update.rb +0 -0
  177. data/lib/labclient/groups/clusters/add.rb +0 -0
  178. data/lib/labclient/groups/clusters/client.rb +0 -0
  179. data/lib/labclient/groups/clusters/delete.rb +0 -0
  180. data/lib/labclient/groups/clusters/group_cluster.rb +0 -0
  181. data/lib/labclient/groups/clusters/list.rb +0 -0
  182. data/lib/labclient/groups/clusters/show.rb +0 -0
  183. data/lib/labclient/groups/clusters/update.rb +0 -0
  184. data/lib/labclient/groups/create.rb +0 -0
  185. data/lib/labclient/groups/delete.rb +0 -0
  186. data/lib/labclient/groups/group.rb +0 -2
  187. data/lib/labclient/groups/hooks/client.rb +0 -0
  188. data/lib/labclient/groups/hooks/create.rb +0 -0
  189. data/lib/labclient/groups/hooks/delete.rb +0 -0
  190. data/lib/labclient/groups/hooks/group_hook.rb +0 -0
  191. data/lib/labclient/groups/hooks/list.rb +0 -0
  192. data/lib/labclient/groups/hooks/show.rb +0 -0
  193. data/lib/labclient/groups/hooks/update.rb +0 -0
  194. data/lib/labclient/groups/labels/client.rb +0 -0
  195. data/lib/labclient/groups/labels/create.rb +0 -0
  196. data/lib/labclient/groups/labels/delete.rb +0 -0
  197. data/lib/labclient/groups/labels/group_label.rb +0 -0
  198. data/lib/labclient/groups/labels/list.rb +0 -0
  199. data/lib/labclient/groups/labels/show.rb +0 -0
  200. data/lib/labclient/groups/labels/subscribe.rb +0 -0
  201. data/lib/labclient/groups/labels/unsubscribe.rb +0 -0
  202. data/lib/labclient/groups/labels/update.rb +0 -0
  203. data/lib/labclient/groups/ldap/client.rb +0 -0
  204. data/lib/labclient/groups/ldap/create.rb +0 -0
  205. data/lib/labclient/groups/ldap/delete.rb +0 -0
  206. data/lib/labclient/groups/ldap/link.rb +0 -0
  207. data/lib/labclient/groups/ldap/list.rb +0 -0
  208. data/lib/labclient/groups/ldap/sync.rb +0 -0
  209. data/lib/labclient/groups/list.rb +0 -0
  210. data/lib/labclient/groups/milestones/burndown.rb +0 -0
  211. data/lib/labclient/groups/milestones/client.rb +0 -0
  212. data/lib/labclient/groups/milestones/create.rb +0 -0
  213. data/lib/labclient/groups/milestones/delete.rb +0 -0
  214. data/lib/labclient/groups/milestones/group_milestone.rb +0 -0
  215. data/lib/labclient/groups/milestones/issues.rb +0 -0
  216. data/lib/labclient/groups/milestones/list.rb +0 -0
  217. data/lib/labclient/groups/milestones/merge_requests.rb +0 -0
  218. data/lib/labclient/groups/milestones/show.rb +0 -0
  219. data/lib/labclient/groups/milestones/update.rb +0 -0
  220. data/lib/labclient/groups/projects.rb +0 -0
  221. data/lib/labclient/groups/restore.rb +0 -0
  222. data/lib/labclient/groups/runners.rb +0 -0
  223. data/lib/labclient/groups/search.rb +2 -6
  224. data/lib/labclient/groups/show.rb +0 -0
  225. data/lib/labclient/groups/stub.rb +1 -0
  226. data/lib/labclient/groups/subgroups.rb +0 -0
  227. data/lib/labclient/groups/transfer.rb +0 -0
  228. data/lib/labclient/groups/update.rb +0 -0
  229. data/lib/labclient/http.rb +36 -10
  230. data/lib/labclient/impersonation_tokens/create.rb +0 -0
  231. data/lib/labclient/impersonation_tokens/impersonation_token.rb +0 -0
  232. data/lib/labclient/impersonation_tokens/list.rb +0 -0
  233. data/lib/labclient/impersonation_tokens/revoke.rb +0 -0
  234. data/lib/labclient/impersonation_tokens/show.rb +0 -0
  235. data/lib/labclient/issues/agent_detail.rb +0 -0
  236. data/lib/labclient/issues/closed_by.rb +0 -0
  237. data/lib/labclient/issues/create.rb +0 -0
  238. data/lib/labclient/issues/delete.rb +0 -0
  239. data/lib/labclient/issues/group_issues.rb +0 -0
  240. data/lib/labclient/issues/issue.rb +1 -1
  241. data/lib/labclient/issues/list.rb +0 -0
  242. data/lib/labclient/issues/move.rb +0 -0
  243. data/lib/labclient/issues/notes.rb +0 -0
  244. data/lib/labclient/issues/participants.rb +0 -0
  245. data/lib/labclient/issues/project_issues.rb +0 -0
  246. data/lib/labclient/issues/related_merge_requests.rb +0 -0
  247. data/lib/labclient/issues/show.rb +0 -0
  248. data/lib/labclient/issues/subscribe.rb +0 -0
  249. data/lib/labclient/issues/time_stats.rb +0 -0
  250. data/lib/labclient/issues/todo.rb +0 -0
  251. data/lib/labclient/issues/unsubscribe.rb +0 -0
  252. data/lib/labclient/issues/update.rb +0 -0
  253. data/lib/labclient/jobs/artifacts.rb +0 -0
  254. data/lib/labclient/jobs/artifacts_latest.rb +0 -0
  255. data/lib/labclient/jobs/artifacts_path.rb +0 -0
  256. data/lib/labclient/jobs/cancel.rb +0 -0
  257. data/lib/labclient/jobs/delete.rb +0 -0
  258. data/lib/labclient/jobs/erase.rb +0 -0
  259. data/lib/labclient/jobs/job.rb +0 -0
  260. data/lib/labclient/jobs/keep.rb +0 -0
  261. data/lib/labclient/jobs/pipeline_list.rb +0 -0
  262. data/lib/labclient/jobs/play.rb +0 -0
  263. data/lib/labclient/jobs/project_list.rb +0 -0
  264. data/lib/labclient/jobs/retry.rb +0 -0
  265. data/lib/labclient/jobs/show.rb +0 -0
  266. data/lib/labclient/jobs/trace.rb +0 -0
  267. data/lib/labclient/keys/fingerprint.rb +0 -0
  268. data/lib/labclient/keys/key.rb +0 -0
  269. data/lib/labclient/keys/project.rb +0 -0
  270. data/lib/labclient/keys/show.rb +0 -0
  271. data/lib/labclient/keys/user.rb +0 -0
  272. data/lib/labclient/klass.rb +9 -4
  273. data/lib/labclient/lab_struct.rb +12 -0
  274. data/lib/labclient/license/add.rb +0 -0
  275. data/lib/labclient/license/delete.rb +0 -0
  276. data/lib/labclient/license/license.rb +0 -0
  277. data/lib/labclient/license/list.rb +0 -0
  278. data/lib/labclient/logger.rb +50 -0
  279. data/lib/labclient/markdown/markdown.rb +0 -0
  280. data/lib/labclient/members/groups/add.rb +0 -0
  281. data/lib/labclient/members/groups/delete.rb +0 -0
  282. data/lib/labclient/members/groups/list.rb +0 -0
  283. data/lib/labclient/members/groups/show.rb +0 -0
  284. data/lib/labclient/members/groups/update.rb +0 -0
  285. data/lib/labclient/members/member.rb +0 -0
  286. data/lib/labclient/members/members.rb +0 -0
  287. data/lib/labclient/members/projects/add.rb +0 -0
  288. data/lib/labclient/members/projects/delete.rb +0 -0
  289. data/lib/labclient/members/projects/list.rb +0 -0
  290. data/lib/labclient/members/projects/show.rb +0 -0
  291. data/lib/labclient/members/projects/update.rb +0 -0
  292. data/lib/labclient/merge_requests/accept.rb +0 -0
  293. data/lib/labclient/merge_requests/cancel_auto_merge.rb +0 -0
  294. data/lib/labclient/merge_requests/change.rb +0 -0
  295. data/lib/labclient/merge_requests/changes.rb +0 -0
  296. data/lib/labclient/merge_requests/closes_issues.rb +0 -0
  297. data/lib/labclient/merge_requests/commits.rb +0 -0
  298. data/lib/labclient/merge_requests/create.rb +0 -0
  299. data/lib/labclient/merge_requests/delete.rb +0 -0
  300. data/lib/labclient/merge_requests/diff.rb +0 -0
  301. data/lib/labclient/merge_requests/diff_versions.rb +0 -0
  302. data/lib/labclient/merge_requests/list.rb +1 -1
  303. data/lib/labclient/merge_requests/merge_ref.rb +0 -0
  304. data/lib/labclient/merge_requests/merge_request.rb +1 -3
  305. data/lib/labclient/merge_requests/notes.rb +0 -0
  306. data/lib/labclient/merge_requests/participants.rb +0 -0
  307. data/lib/labclient/merge_requests/pipelines.rb +0 -0
  308. data/lib/labclient/merge_requests/rebase.rb +0 -0
  309. data/lib/labclient/merge_requests/show.rb +0 -0
  310. data/lib/labclient/merge_requests/subscribe.rb +0 -0
  311. data/lib/labclient/merge_requests/time_stats.rb +0 -0
  312. data/lib/labclient/merge_requests/todo.rb +0 -0
  313. data/lib/labclient/merge_requests/unsubscribe.rb +0 -0
  314. data/lib/labclient/merge_requests/update.rb +0 -0
  315. data/lib/labclient/namespaces/list.rb +0 -0
  316. data/lib/labclient/namespaces/namespace.rb +0 -0
  317. data/lib/labclient/namespaces/show.rb +0 -0
  318. data/lib/labclient/notes/epics/client.rb +0 -0
  319. data/lib/labclient/notes/epics/create.rb +0 -0
  320. data/lib/labclient/notes/epics/delete.rb +0 -0
  321. data/lib/labclient/notes/epics/list.rb +0 -0
  322. data/lib/labclient/notes/epics/show.rb +0 -0
  323. data/lib/labclient/notes/epics/update.rb +0 -0
  324. data/lib/labclient/notes/issues/client.rb +0 -0
  325. data/lib/labclient/notes/issues/create.rb +0 -0
  326. data/lib/labclient/notes/issues/delete.rb +0 -0
  327. data/lib/labclient/notes/issues/list.rb +0 -0
  328. data/lib/labclient/notes/issues/show.rb +0 -0
  329. data/lib/labclient/notes/issues/update.rb +0 -0
  330. data/lib/labclient/notes/merge_requests/client.rb +0 -0
  331. data/lib/labclient/notes/merge_requests/create.rb +0 -0
  332. data/lib/labclient/notes/merge_requests/delete.rb +0 -0
  333. data/lib/labclient/notes/merge_requests/list.rb +0 -0
  334. data/lib/labclient/notes/merge_requests/show.rb +0 -0
  335. data/lib/labclient/notes/merge_requests/update.rb +0 -0
  336. data/lib/labclient/notes/note.rb +0 -0
  337. data/lib/labclient/notes/snippets/client.rb +0 -0
  338. data/lib/labclient/notes/snippets/create.rb +0 -0
  339. data/lib/labclient/notes/snippets/delete.rb +0 -0
  340. data/lib/labclient/notes/snippets/list.rb +0 -0
  341. data/lib/labclient/notes/snippets/show.rb +0 -0
  342. data/lib/labclient/notes/snippets/update.rb +0 -0
  343. data/lib/labclient/notifications/list.rb +0 -0
  344. data/lib/labclient/notifications/update.rb +0 -0
  345. data/lib/labclient/overview.rb +72 -11
  346. data/lib/labclient/paginated_response.rb +12 -2
  347. data/lib/labclient/pipelines/cancel.rb +0 -0
  348. data/lib/labclient/pipelines/create.rb +0 -0
  349. data/lib/labclient/pipelines/delete.rb +0 -0
  350. data/lib/labclient/pipelines/list.rb +0 -0
  351. data/lib/labclient/pipelines/pipeline.rb +1 -1
  352. data/lib/labclient/pipelines/retry.rb +0 -0
  353. data/lib/labclient/pipelines/show.rb +0 -0
  354. data/lib/labclient/pipelines/variables.rb +0 -0
  355. data/lib/labclient/projects/access_requests/access_request.rb +0 -0
  356. data/lib/labclient/projects/access_requests/approve.rb +0 -0
  357. data/lib/labclient/projects/access_requests/client.rb +0 -0
  358. data/lib/labclient/projects/access_requests/create.rb +0 -0
  359. data/lib/labclient/projects/access_requests/deny.rb +0 -0
  360. data/lib/labclient/projects/access_requests/list.rb +0 -0
  361. data/lib/labclient/projects/archive.rb +0 -0
  362. data/lib/labclient/projects/badges/client.rb +0 -0
  363. data/lib/labclient/projects/badges/create.rb +0 -0
  364. data/lib/labclient/projects/badges/delete.rb +0 -0
  365. data/lib/labclient/projects/badges/list.rb +0 -0
  366. data/lib/labclient/projects/badges/preview.rb +0 -0
  367. data/lib/labclient/projects/badges/project_badge.rb +0 -0
  368. data/lib/labclient/projects/badges/show.rb +0 -0
  369. data/lib/labclient/projects/badges/update.rb +0 -0
  370. data/lib/labclient/projects/clusters/add.rb +0 -0
  371. data/lib/labclient/projects/clusters/client.rb +0 -0
  372. data/lib/labclient/projects/clusters/delete.rb +0 -0
  373. data/lib/labclient/projects/clusters/list.rb +0 -0
  374. data/lib/labclient/projects/clusters/project_cluster.rb +0 -0
  375. data/lib/labclient/projects/clusters/show.rb +0 -0
  376. data/lib/labclient/projects/clusters/update.rb +0 -0
  377. data/lib/labclient/projects/create.rb +0 -0
  378. data/lib/labclient/projects/delete.rb +0 -0
  379. data/lib/labclient/projects/deployments/client.rb +0 -0
  380. data/lib/labclient/projects/deployments/create.rb +0 -0
  381. data/lib/labclient/projects/deployments/list.rb +0 -0
  382. data/lib/labclient/projects/deployments/merge_requests.rb +0 -0
  383. data/lib/labclient/projects/deployments/project_deployment.rb +0 -0
  384. data/lib/labclient/projects/deployments/show.rb +0 -0
  385. data/lib/labclient/projects/deployments/update.rb +0 -0
  386. data/lib/labclient/projects/environments/client.rb +0 -0
  387. data/lib/labclient/projects/environments/create.rb +0 -0
  388. data/lib/labclient/projects/environments/delete.rb +0 -0
  389. data/lib/labclient/projects/environments/list.rb +0 -0
  390. data/lib/labclient/projects/environments/project_environment.rb +0 -0
  391. data/lib/labclient/projects/environments/show.rb +0 -0
  392. data/lib/labclient/projects/environments/stop.rb +0 -0
  393. data/lib/labclient/projects/environments/update.rb +0 -0
  394. data/lib/labclient/projects/events.rb +0 -0
  395. data/lib/labclient/projects/forks/existing.rb +0 -0
  396. data/lib/labclient/projects/forks/fork.rb +0 -0
  397. data/lib/labclient/projects/forks/list.rb +0 -0
  398. data/lib/labclient/projects/forks/remove.rb +0 -0
  399. data/lib/labclient/projects/github_import.rb +0 -0
  400. data/lib/labclient/projects/hooks/client.rb +0 -0
  401. data/lib/labclient/projects/hooks/create.rb +0 -0
  402. data/lib/labclient/projects/hooks/delete.rb +0 -0
  403. data/lib/labclient/projects/hooks/list.rb +0 -0
  404. data/lib/labclient/projects/hooks/project_hook.rb +0 -0
  405. data/lib/labclient/projects/hooks/show.rb +0 -0
  406. data/lib/labclient/projects/hooks/update.rb +0 -0
  407. data/lib/labclient/projects/housekeeping.rb +0 -0
  408. data/lib/labclient/projects/labels/client.rb +0 -0
  409. data/lib/labclient/projects/labels/create.rb +0 -0
  410. data/lib/labclient/projects/labels/delete.rb +0 -0
  411. data/lib/labclient/projects/labels/list.rb +0 -0
  412. data/lib/labclient/projects/labels/project_label.rb +0 -0
  413. data/lib/labclient/projects/labels/promote.rb +0 -0
  414. data/lib/labclient/projects/labels/show.rb +0 -0
  415. data/lib/labclient/projects/labels/subscribe.rb +0 -0
  416. data/lib/labclient/projects/labels/unsubscribe.rb +0 -0
  417. data/lib/labclient/projects/labels/update.rb +0 -0
  418. data/lib/labclient/projects/languages.rb +0 -0
  419. data/lib/labclient/projects/list.rb +0 -0
  420. data/lib/labclient/projects/methods.rb +1 -1
  421. data/lib/labclient/projects/milestones/burndown.rb +0 -0
  422. data/lib/labclient/projects/milestones/client.rb +0 -0
  423. data/lib/labclient/projects/milestones/create.rb +0 -0
  424. data/lib/labclient/projects/milestones/delete.rb +0 -0
  425. data/lib/labclient/projects/milestones/issues.rb +0 -0
  426. data/lib/labclient/projects/milestones/list.rb +0 -0
  427. data/lib/labclient/projects/milestones/merge_requests.rb +0 -0
  428. data/lib/labclient/projects/milestones/project_milestone.rb +0 -0
  429. data/lib/labclient/projects/milestones/promote.rb +0 -0
  430. data/lib/labclient/projects/milestones/show.rb +0 -0
  431. data/lib/labclient/projects/milestones/update.rb +0 -0
  432. data/lib/labclient/projects/mirror_start.rb +0 -0
  433. data/lib/labclient/projects/mirrors/client.rb +0 -0
  434. data/lib/labclient/projects/mirrors/create.rb +0 -0
  435. data/lib/labclient/projects/mirrors/list.rb +0 -0
  436. data/lib/labclient/projects/mirrors/project_mirror.rb +0 -0
  437. data/lib/labclient/projects/mirrors/update.rb +0 -0
  438. data/lib/labclient/projects/pipeline_schedules/client.rb +0 -0
  439. data/lib/labclient/projects/pipeline_schedules/create.rb +0 -0
  440. data/lib/labclient/projects/pipeline_schedules/delete.rb +0 -0
  441. data/lib/labclient/projects/pipeline_schedules/list.rb +0 -0
  442. data/lib/labclient/projects/pipeline_schedules/pipeline_schedule.rb +0 -0
  443. data/lib/labclient/projects/pipeline_schedules/play.rb +0 -0
  444. data/lib/labclient/projects/pipeline_schedules/show.rb +0 -0
  445. data/lib/labclient/projects/pipeline_schedules/take_ownership.rb +0 -0
  446. data/lib/labclient/projects/pipeline_schedules/update.rb +0 -0
  447. data/lib/labclient/projects/pipeline_schedules/variables/client.rb +0 -0
  448. data/lib/labclient/projects/pipeline_schedules/variables/create.rb +0 -0
  449. data/lib/labclient/projects/pipeline_schedules/variables/delete.rb +0 -0
  450. data/lib/labclient/projects/pipeline_schedules/variables/update.rb +0 -0
  451. data/lib/labclient/projects/project.rb +0 -0
  452. data/lib/labclient/projects/push_rules/client.rb +0 -0
  453. data/lib/labclient/projects/push_rules/create.rb +0 -0
  454. data/lib/labclient/projects/push_rules/delete.rb +0 -0
  455. data/lib/labclient/projects/push_rules/push_rule.rb +0 -0
  456. data/lib/labclient/projects/push_rules/show.rb +0 -0
  457. data/lib/labclient/projects/push_rules/update.rb +0 -0
  458. data/lib/labclient/projects/reference.rb +2 -2
  459. data/lib/labclient/projects/release_links/client.rb +0 -0
  460. data/lib/labclient/projects/release_links/create.rb +0 -0
  461. data/lib/labclient/projects/release_links/delete.rb +0 -0
  462. data/lib/labclient/projects/release_links/list.rb +0 -0
  463. data/lib/labclient/projects/release_links/project_release_link.rb +0 -0
  464. data/lib/labclient/projects/release_links/show.rb +0 -0
  465. data/lib/labclient/projects/release_links/update.rb +0 -0
  466. data/lib/labclient/projects/releases/client.rb +0 -0
  467. data/lib/labclient/projects/releases/create.rb +0 -0
  468. data/lib/labclient/projects/releases/delete.rb +0 -0
  469. data/lib/labclient/projects/releases/evidence.rb +0 -0
  470. data/lib/labclient/projects/releases/list.rb +0 -0
  471. data/lib/labclient/projects/releases/project_release.rb +0 -0
  472. data/lib/labclient/projects/releases/show.rb +0 -0
  473. data/lib/labclient/projects/releases/update.rb +0 -0
  474. data/lib/labclient/projects/resources.rb +0 -0
  475. data/lib/labclient/projects/restore.rb +0 -0
  476. data/lib/labclient/projects/runners/client.rb +0 -0
  477. data/lib/labclient/projects/runners/disable.rb +0 -0
  478. data/lib/labclient/projects/runners/enable.rb +0 -0
  479. data/lib/labclient/projects/runners/list.rb +0 -0
  480. data/lib/labclient/projects/search.rb +2 -6
  481. data/lib/labclient/projects/services/client.rb +0 -0
  482. data/lib/labclient/projects/services/delete.rb +0 -0
  483. data/lib/labclient/projects/services/list.rb +0 -0
  484. data/lib/labclient/projects/services/project_service.rb +0 -0
  485. data/lib/labclient/projects/services/show.rb +0 -0
  486. data/lib/labclient/projects/services/update.rb +0 -0
  487. data/lib/labclient/projects/share.rb +0 -0
  488. data/lib/labclient/projects/show.rb +0 -0
  489. data/lib/labclient/projects/snapshot.rb +0 -0
  490. data/lib/labclient/projects/snippets/agent_detail.rb +0 -0
  491. data/lib/labclient/projects/snippets/client.rb +0 -0
  492. data/lib/labclient/projects/snippets/content.rb +0 -0
  493. data/lib/labclient/projects/snippets/create.rb +0 -0
  494. data/lib/labclient/projects/snippets/delete.rb +0 -0
  495. data/lib/labclient/projects/snippets/list.rb +0 -0
  496. data/lib/labclient/projects/snippets/project_snippet.rb +0 -0
  497. data/lib/labclient/projects/snippets/show.rb +0 -0
  498. data/lib/labclient/projects/snippets/update.rb +0 -0
  499. data/lib/labclient/projects/stars/star.rb +0 -0
  500. data/lib/labclient/projects/stars/starred_projects.rb +0 -0
  501. data/lib/labclient/projects/stars/starrers.rb +0 -0
  502. data/lib/labclient/projects/submodule.rb +0 -0
  503. data/lib/labclient/projects/transfer.rb +0 -0
  504. data/lib/labclient/projects/triggers/client.rb +0 -0
  505. data/lib/labclient/projects/triggers/create.rb +0 -0
  506. data/lib/labclient/projects/triggers/delete.rb +0 -0
  507. data/lib/labclient/projects/triggers/list.rb +0 -0
  508. data/lib/labclient/projects/triggers/project_trigger.rb +0 -0
  509. data/lib/labclient/projects/triggers/show.rb +0 -0
  510. data/lib/labclient/projects/unarchive.rb +0 -0
  511. data/lib/labclient/projects/unshare.rb +0 -0
  512. data/lib/labclient/projects/update.rb +0 -0
  513. data/lib/labclient/projects/upload.rb +0 -0
  514. data/lib/labclient/projects/user.rb +0 -0
  515. data/lib/labclient/projects/users.rb +0 -0
  516. data/lib/labclient/projects/variables/client.rb +0 -0
  517. data/lib/labclient/projects/variables/create.rb +0 -0
  518. data/lib/labclient/projects/variables/delete.rb +0 -0
  519. data/lib/labclient/projects/variables/list.rb +0 -0
  520. data/lib/labclient/projects/variables/project_variable.rb +0 -0
  521. data/lib/labclient/projects/variables/show.rb +0 -0
  522. data/lib/labclient/projects/variables/update.rb +0 -0
  523. data/lib/labclient/protected_branches/code_owner_approval.rb +0 -0
  524. data/lib/labclient/protected_branches/list.rb +0 -0
  525. data/lib/labclient/protected_branches/protect.rb +0 -0
  526. data/lib/labclient/protected_branches/show.rb +0 -0
  527. data/lib/labclient/protected_branches/unprotect.rb +0 -0
  528. data/lib/labclient/protected_environments/list.rb +0 -0
  529. data/lib/labclient/protected_environments/protect.rb +0 -0
  530. data/lib/labclient/protected_environments/protected_environment.rb +0 -0
  531. data/lib/labclient/protected_environments/show.rb +0 -0
  532. data/lib/labclient/protected_environments/unprotect.rb +0 -0
  533. data/lib/labclient/protected_tags/list.rb +0 -0
  534. data/lib/labclient/protected_tags/protect.rb +0 -0
  535. data/lib/labclient/protected_tags/show.rb +0 -0
  536. data/lib/labclient/protected_tags/unprotect.rb +0 -0
  537. data/lib/labclient/registry/delete.rb +0 -0
  538. data/lib/labclient/registry/group.rb +0 -0
  539. data/lib/labclient/registry/list.rb +0 -0
  540. data/lib/labclient/registry/repository.rb +0 -0
  541. data/lib/labclient/registry/tags/bulk.rb +0 -0
  542. data/lib/labclient/registry/tags/delete.rb +0 -0
  543. data/lib/labclient/registry/tags/details.rb +0 -0
  544. data/lib/labclient/registry/tags/list.rb +0 -0
  545. data/lib/labclient/registry/tags/tag.rb +0 -0
  546. data/lib/labclient/repository/alias.rb +0 -0
  547. data/lib/labclient/repository/archive.rb +0 -0
  548. data/lib/labclient/repository/blob.rb +0 -0
  549. data/lib/labclient/repository/compare.rb +0 -0
  550. data/lib/labclient/repository/contributors.rb +0 -0
  551. data/lib/labclient/repository/merge_base.rb +0 -0
  552. data/lib/labclient/repository/raw_blob.rb +0 -0
  553. data/lib/labclient/repository/tree.rb +0 -0
  554. data/lib/labclient/resource_labels/epics/client.rb +0 -0
  555. data/lib/labclient/resource_labels/epics/list.rb +0 -0
  556. data/lib/labclient/resource_labels/epics/show.rb +0 -0
  557. data/lib/labclient/resource_labels/issues/client.rb +0 -0
  558. data/lib/labclient/resource_labels/issues/list.rb +0 -0
  559. data/lib/labclient/resource_labels/issues/show.rb +0 -0
  560. data/lib/labclient/resource_labels/merge_requests/client.rb +0 -0
  561. data/lib/labclient/resource_labels/merge_requests/list.rb +0 -0
  562. data/lib/labclient/resource_labels/merge_requests/show.rb +0 -0
  563. data/lib/labclient/resource_labels/resource_label.rb +0 -0
  564. data/lib/labclient/runners/all.rb +0 -0
  565. data/lib/labclient/runners/delete.rb +0 -0
  566. data/lib/labclient/runners/jobs.rb +0 -0
  567. data/lib/labclient/runners/list.rb +0 -0
  568. data/lib/labclient/runners/register.rb +0 -0
  569. data/lib/labclient/runners/remove.rb +0 -0
  570. data/lib/labclient/runners/runner.rb +0 -0
  571. data/lib/labclient/runners/show.rb +0 -0
  572. data/lib/labclient/runners/update.rb +0 -0
  573. data/lib/labclient/runners/verify.rb +0 -0
  574. data/lib/labclient/search/search.rb +3 -3
  575. data/lib/labclient/snippets/agent_detail.rb +0 -0
  576. data/lib/labclient/snippets/content.rb +0 -0
  577. data/lib/labclient/snippets/create.rb +0 -0
  578. data/lib/labclient/snippets/delete.rb +0 -0
  579. data/lib/labclient/snippets/list.rb +0 -0
  580. data/lib/labclient/snippets/public.rb +0 -0
  581. data/lib/labclient/snippets/show.rb +0 -0
  582. data/lib/labclient/snippets/snippet.rb +0 -0
  583. data/lib/labclient/snippets/update.rb +0 -0
  584. data/lib/labclient/system_hooks/add.rb +0 -0
  585. data/lib/labclient/system_hooks/delete.rb +0 -0
  586. data/lib/labclient/system_hooks/list.rb +0 -0
  587. data/lib/labclient/system_hooks/system_hook.rb +0 -0
  588. data/lib/labclient/system_hooks/test.rb +0 -0
  589. data/lib/labclient/tags/create.rb +0 -0
  590. data/lib/labclient/tags/delete.rb +0 -0
  591. data/lib/labclient/tags/list.rb +0 -0
  592. data/lib/labclient/tags/release.rb +0 -0
  593. data/lib/labclient/tags/show.rb +0 -0
  594. data/lib/labclient/tags/tag.rb +0 -0
  595. data/lib/labclient/tags/update.rb +0 -0
  596. data/lib/labclient/todos/list.rb +0 -0
  597. data/lib/labclient/todos/mark_all_done.rb +0 -0
  598. data/lib/labclient/todos/mark_done.rb +0 -0
  599. data/lib/labclient/todos/todo.rb +0 -0
  600. data/lib/labclient/users/activate.rb +0 -0
  601. data/lib/labclient/users/activity.rb +0 -0
  602. data/lib/labclient/users/block.rb +0 -0
  603. data/lib/labclient/users/counts.rb +0 -0
  604. data/lib/labclient/users/create.rb +0 -0
  605. data/lib/labclient/users/current.rb +0 -0
  606. data/lib/labclient/users/deactivate.rb +0 -0
  607. data/lib/labclient/users/delete.rb +0 -0
  608. data/lib/labclient/users/delete_identity.rb +0 -0
  609. data/lib/labclient/users/email/client.rb +0 -0
  610. data/lib/labclient/users/email/create.rb +0 -0
  611. data/lib/labclient/users/email/delete.rb +0 -0
  612. data/lib/labclient/users/email/email.rb +0 -0
  613. data/lib/labclient/users/email/list.rb +0 -0
  614. data/lib/labclient/users/email/show.rb +0 -0
  615. data/lib/labclient/users/gpg/client.rb +0 -0
  616. data/lib/labclient/users/gpg/create.rb +0 -0
  617. data/lib/labclient/users/gpg/delete.rb +0 -0
  618. data/lib/labclient/users/gpg/gpg_key.rb +0 -0
  619. data/lib/labclient/users/gpg/list.rb +0 -0
  620. data/lib/labclient/users/gpg/show.rb +0 -0
  621. data/lib/labclient/users/keys/client.rb +0 -0
  622. data/lib/labclient/users/keys/create.rb +0 -0
  623. data/lib/labclient/users/keys/delete.rb +0 -0
  624. data/lib/labclient/users/keys/list.rb +0 -0
  625. data/lib/labclient/users/keys/show.rb +0 -0
  626. data/lib/labclient/users/list.rb +0 -0
  627. data/lib/labclient/users/membership.rb +0 -0
  628. data/lib/labclient/users/memberships.rb +0 -0
  629. data/lib/labclient/users/search.rb +0 -0
  630. data/lib/labclient/users/show.rb +0 -0
  631. data/lib/labclient/users/status.rb +0 -0
  632. data/lib/labclient/users/status_set.rb +0 -0
  633. data/lib/labclient/users/unblock.rb +0 -0
  634. data/lib/labclient/users/update.rb +0 -0
  635. data/lib/labclient/users/user.rb +10 -0
  636. data/lib/labclient/version.rb +7 -1
  637. data/lib/labclient/version/show.rb +0 -0
  638. data/lib/labclient/wikis/create.rb +0 -0
  639. data/lib/labclient/wikis/delete.rb +0 -0
  640. data/lib/labclient/wikis/list.rb +0 -0
  641. data/lib/labclient/wikis/show.rb +0 -0
  642. data/lib/labclient/wikis/update.rb +0 -0
  643. data/lib/labclient/wikis/upload.rb +0 -0
  644. data/lib/labclient/wikis/wiki.rb +0 -0
  645. metadata +65 -19
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: afae2688a4bc4ee88d958081de2aa6a0f836023de31f0893b0027c95d4b25ac3
4
- data.tar.gz: b89c9b5de0143fdcb4efe0ca599d3c585f0166a5d43b56f379a78680e45fb459
3
+ metadata.gz: 2d1d2daf2bc113e0a5e74d3b2888dc20278bb18e5aab063a21919f9ab7ef4ca9
4
+ data.tar.gz: 40f0b1e58ba394663e4ab90f1ac9fd6e4734e718d6f1aac9f1394bc7c067afd3
5
5
  SHA512:
6
- metadata.gz: d35822a7a216bc2b35be35480c22a2c2a887218f36b6ff719fefd94d953c1711c3c190005e601d4d9380385c16e65ea632737076ef00767be7a66b0f5a035abb
7
- data.tar.gz: ca0b0b31a2ab8669c2413468a942d4c24170a41fbdaa76e9cfbb7d13f5fea7f3341fd55e2d007e02e37a851a2981a7af34e33ead97762a9d3682d6bba9a1a3d3
6
+ metadata.gz: 9d6e0a96ecd9eba62f3a38c89b621b6379cb1e63bb67a212acc7333dc0dc3ae6d3b58011bdbbb8b2b13c08959d144540e46698112dd1d91a6c613208abe541f3
7
+ data.tar.gz: 317e9e1290ccad1878af5f838842ab893879ed2306fcbcf0509ba9fa4372717a94b98ba37f038db86b01945dc7d2a95b18d8f158b1db64fc6884aa310bd14001
data/lib/labclient.rb CHANGED
@@ -5,13 +5,15 @@ require 'active_support/all'
5
5
  require 'amazing_print'
6
6
  require 'gitlab_chronic_duration'
7
7
  require 'ostruct'
8
+ require 'ougai'
8
9
 
9
10
  require 'labclient/version'
11
+ require 'labclient/logger'
10
12
  require 'labclient/docs'
13
+ require 'labclient/curl'
11
14
  require 'labclient/http'
12
15
  require 'labclient/access_levels'
13
16
  require 'labclient/common'
14
- require 'labclient/curl'
15
17
  require 'labclient/lab_struct'
16
18
  require 'labclient/klass'
17
19
  require 'labclient/class_helpers'
@@ -876,5 +878,8 @@ require 'labclient/generator/wizard'
876
878
  # Dynamically Require Templates (Simplify new template creation)
877
879
  Dir["#{File.dirname(__FILE__)}/labclient/generator/templates/*.rb"].sort.each { |file| require file }
878
880
 
879
- # I am Very Last
881
+ # Load Client Files - I am Very Last!
882
+ require 'labclient/client/setup'
883
+ require 'labclient/client/helpers'
884
+ require 'labclient/client/meta'
880
885
  require 'labclient/client'
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -22,7 +22,7 @@ module LabClient
22
22
  Timeout.timeout(total_time) do
23
23
  loop do
24
24
  reload
25
- puts 'Waiting for Pipelines'
25
+ logger.info 'Waiting for Pipelines' unless quiet?
26
26
  break unless pipelines.empty?
27
27
 
28
28
  sleep sleep_time
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1,104 +1,10 @@
1
1
  # Top Namespace
2
2
  module LabClient
3
3
  # API Specifics
4
- # rubocop:disable Metrics/ClassLength
5
4
  class Client
6
- # include HTTParty
7
- attr_accessor :settings, :resp, :klass, :link, :http
8
-
9
- def inspect
10
- "#<LabClient::Client url: \"#{@settings[:url]}\">"
11
- end
12
-
13
- # Helper to make subclasses directly accessible
14
- def subclasses
15
- self.class.instance_variable_get(:@subclasses)
16
- end
17
-
18
- # ----------
19
- # Alias List
20
- # approvals == merge_request_approvals
21
- # repo == repository
22
- # ----------
23
- @subclasses = {
24
- appearance: Appearances,
25
- application_settings: ApplicationSettings,
26
- application_statistics: ApplicationStatistics,
27
- applications: Applications,
28
- approvals: Approvals,
29
- audit_events: AuditEvents,
30
- avatar: Avatars,
31
- awards: Awards,
32
- branches: Branches,
33
- broadcast_messages: BroadcastMessages,
34
- ci_lint: CiLint,
35
- commits: Commits,
36
- deploy_keys: DeployKeys,
37
- discussions: Discussions,
38
- epics: Epics,
39
- events: Events,
40
- feature_flags: FeatureFlags,
41
- files: Files,
42
- groups: Groups,
43
- impersonation_tokens: ImpersonationTokens,
44
- issues: Issues,
45
- jobs: Jobs,
46
- keys: Keys,
47
- license: Licenses,
48
- markdown: Markdown,
49
- members: Members,
50
- merge_request_approvals: Approvals,
51
- merge_requests: MergeRequests,
52
- namespaces: Namespaces,
53
- notes: Notes,
54
- notifications: Notifications,
55
- pipelines: Pipelines,
56
- project_runners: ProjectRunners,
57
- projects: Projects,
58
- protected_branches: ProtectedBranches,
59
- protected_environments: ProtectedEnvironments,
60
- protected_tags: ProtectedTags,
61
- registry: Registry,
62
- repo: Repositories,
63
- repository: Repositories,
64
- resource_labels: ResourceLabels,
65
- runners: Runners,
66
- snippets: Snippets,
67
- system_hooks: SystemHooks,
68
- tags: Tags,
69
- todos: Todos,
70
- users: Users,
71
- version: Version,
72
- wikis: Wikis,
73
- wizard: Generator::Wizard
74
- }
75
-
76
- @subclasses.each do |name, obj|
77
- define_method(name) do
78
- obj.new(self)
79
- end
80
- end
81
-
82
- def api_methods
83
- subclasses.keys.sort
84
- end
85
-
86
- def help(help_filter = nil)
87
- puts 'Available Methods'
88
-
89
- shown_subclasses = if help_filter
90
- api_methods.grep(/#{help_filter}/)
91
- else
92
- api_methods
93
- end
94
-
95
- puts " - #{shown_subclasses.join(' ')}\n\n"
96
- puts "See help for each specific sub-category\n"
97
- puts "- client.users.help\n"
98
- puts "- client.users.api_methods\n"
99
-
100
- nil
101
- end
5
+ include ClientHelpers
6
+ include ClientSetup
7
+ include Logger
102
8
 
103
9
  # Default setup, pull in settings
104
10
  def initialize(user_settings = nil)
@@ -114,81 +20,63 @@ module LabClient
114
20
  # Only prompt if explicitly set to nil
115
21
  prompt_for_token if @settings[:token].nil?
116
22
 
23
+ # Initial Delay / Retry Value
24
+ self.delay = 0
25
+ self.retries = 0
26
+
27
+ # Request Configuration
117
28
  self.http = HTTP.new(@settings)
118
29
  end
119
30
 
120
- def base_url
121
- "#{settings[:url]}/api/v4/"
122
- end
31
+ # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
32
+ def request(method, path, klass = nil, body = {}, dump_json = true)
33
+ self.klass = klass
34
+ self.resp = http.request(method, path, body, dump_json)
35
+ self.path = path
123
36
 
124
- def prompt_for_url
125
- print 'Enter GitLab URL (e.g. https://gitlab.com): '
126
- @settings[:url] = $stdin.gets.chomp
127
- raise 'LabClient Error - Missing URL!' if @settings[:url].blank?
128
- end
37
+ debug_handler if debug?
129
38
 
130
- def prompt_for_token
131
- print 'Enter Personal Access Token: '
132
- @settings[:token] = $stdin.gets.chomp
133
- end
39
+ post_request_handlers
134
40
 
135
- def unspecified_defaults
136
- @settings[:paginate] = true if @settings[:paginate].nil?
137
- @settings[:ssl_verify] = true if @settings[:ssl_verify].nil?
138
- @settings[:quiet] = false if @settings[:quiet].nil?
139
- @settings[:token_type] = 'Private-Token' if @settings[:token_type].nil?
140
- end
141
-
142
- def home_file
143
- "#{ENV['HOME']}/.gitlab-labclient"
144
- end
41
+ process resp
42
+ rescue LabClient::Error => e
43
+ logger.fatal('Request Failed', e.error_details) unless quiet?
44
+ resp
45
+ rescue LabClient::Retry
46
+ self.retries += 1
145
47
 
146
- # Easier Profile Name Access
147
- def profile
148
- if settings&.key? :profile
149
- settings[:profile].to_sym
150
- else
151
- ENV['LABCLIENT_PROFILE'].to_sym
152
- end
153
- end
48
+ # Assume Retry After by Default
49
+ logger.debug('Retry After', value: retry_after, retry_header: retry_header) if debug?
50
+ self.delay = retry_after if resp.headers.key? 'retry-after'
154
51
 
155
- # Support for Named Profiles
156
- def setup_profile
157
- return false unless File.exist? home_file
52
+ self.delay += delay_factor
53
+ logger.warn "Received #{resp.code}. Retry in #{delay}", limit: retry_max, retries: retries unless quiet?
158
54
 
159
- config = Oj.load_file(home_file, { symbol_keys: true })
160
- return false unless config.key? profile
55
+ sleep delay unless ENV['LABCLIENT_TESTING']
161
56
 
162
- self.settings ||= {}
163
- settings.merge! config[profile]
57
+ retry
164
58
  end
59
+ # rubocop:enable Metrics/AbcSize, Metrics/MethodLength
165
60
 
166
- # Load default profile
167
- def fill_configuration
168
- if File.exist? home_file
169
- Oj.load_file(home_file, { symbol_keys: true })
170
- else
171
- {
172
- url: ENV['LABCLIENT_URL'],
173
- token: ENV['LABCLIENT_TOKEN']
174
- }
175
- end
176
- end
61
+ # Handling Details for after the request
62
+ # Debug,Retry, Instance Variables, Error Handling
63
+ def post_request_handlers
64
+ # Handle Retry Logic
65
+ raise LabClient::Retry if should_retry?
177
66
 
178
- def request(method, path, klass = nil, body = {}, dump_json = true)
179
- @klass = klass
67
+ # Save Client
68
+ save_client
69
+
70
+ # Reset Delay/Retry Factor
71
+ retry_update if resp.success?
180
72
 
181
- resp = http.request(method, path, body, dump_json)
73
+ # Exit on Max Retries
74
+ raise LabClient::Error.new(resp), resp.friendly_error if retry_max?
182
75
 
183
76
  raise LabClient::Error.new(resp), resp.friendly_error unless resp.success?
184
77
 
185
78
  # Drop in raw path
186
- resp.instance_variable_set(:@path, path)
187
-
188
- process resp
189
- rescue LabClient::Error => e
190
- puts e.message unless settings[:quiet]
191
- resp
79
+ save_path
192
80
  end
193
81
 
194
82
  # Assume we want LabStruct if @klass is ever nil
@@ -207,5 +95,4 @@ module LabClient
207
95
  end
208
96
  end
209
97
  end
210
- # rubocop:enable Metrics/ClassLength
211
98
  end
@@ -0,0 +1,112 @@
1
+ # Top Namespace
2
+ module LabClient
3
+ # Reader Methods / Accessor Helpers
4
+ module ClientHelpers
5
+ def api_methods
6
+ subclasses.keys.sort
7
+ end
8
+
9
+ def help(help_filter = nil)
10
+ puts 'Available Methods'
11
+
12
+ shown_subclasses = if help_filter
13
+ api_methods.grep(/#{help_filter}/)
14
+ else
15
+ api_methods
16
+ end
17
+
18
+ puts " - #{shown_subclasses.join(' ')}\n\n"
19
+ puts "See help for each specific sub-category\n"
20
+ puts "- client.users.help\n"
21
+ puts "- client.users.api_methods\n"
22
+
23
+ nil
24
+ end
25
+
26
+ def home_file
27
+ "#{ENV['HOME']}/.gitlab-labclient"
28
+ end
29
+
30
+ # Easier Profile Name Access
31
+ def profile
32
+ if settings&.key? :profile
33
+ settings[:profile].to_sym
34
+ else
35
+ ENV['LABCLIENT_PROFILE'].to_sym
36
+ end
37
+ end
38
+
39
+ # Instance Variable Helpers
40
+ def save_client
41
+ resp.instance_variable_set(:@client, self)
42
+ end
43
+
44
+ def save_path
45
+ resp.instance_variable_set(:@path, path)
46
+ end
47
+
48
+ def base_url
49
+ "#{settings[:url]}/api/v4/"
50
+ end
51
+
52
+ def quiet?
53
+ settings[:quiet]
54
+ end
55
+
56
+ def debug?
57
+ settings[:debug]
58
+ end
59
+
60
+ def delay_factor
61
+ settings[:retry][:delay_factor]
62
+ end
63
+
64
+ def retry_max
65
+ settings[:retry][:max]
66
+ end
67
+
68
+ # Maximum Retries
69
+ def retry_max?
70
+ retries >= retry_max
71
+ end
72
+
73
+ # On Successfully response lower delay
74
+ # Prevent multiple request / delays
75
+ def retry_update
76
+ self.delay = [delay - 1, 1].max
77
+ self.retries = [retries - 1, 0].max
78
+ end
79
+
80
+ # Debug Print Output
81
+ def debug_handler
82
+ options = resp.request.options
83
+
84
+ logger.debug(
85
+ options[:method].to_s.upcase,
86
+ code: resp.code,
87
+ path: path,
88
+ ssl_verify: options[:ssl_verifyhost],
89
+ message: resp.return_message,
90
+ klass: klass.to_s,
91
+ base_url: resp.request.base_url
92
+ )
93
+ end
94
+
95
+ # Helper for Accessing the Retry Headers
96
+ def retry_after
97
+ retry_header || delay_factor || 1
98
+ end
99
+
100
+ def retry_header
101
+ resp.headers['retry-after']&.to_i
102
+ end
103
+
104
+ # Handle Retry Logic
105
+ # 1. If response merits a retry
106
+ # 2. Retry is enabled
107
+ # 3. Retry Sleep Max isn't hit
108
+ def should_retry?
109
+ resp.retry? && settings[:retry] && !retry_max?
110
+ end
111
+ end
112
+ end