labclient 0.3.1 → 0.4.0

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 +41 -153
  70. data/lib/labclient/client/helpers.rb +108 -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 +44 -12
  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 +83 -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 +1 -1
  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 +1 -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 +66 -20
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0c77fa948bc39c9ec7d677340949a7bc52ed03999c4cb5286d125154edb06f9b
4
- data.tar.gz: fa96ed5df9a9ddf7eea56cd7eb7a34832b4a9509d982159fd8069c5ae49de241
3
+ metadata.gz: '038bb19b37338ea79eae25d376f49c470e3a3901e84d9f578e51da0ef78f9041'
4
+ data.tar.gz: 8b7893bbcefc7fa4cbecdf1e3f1b3a21d0298678bb9ae8ed30cc2df13eee2e3f
5
5
  SHA512:
6
- metadata.gz: 2148330fb1c533956e2f51085729c7c8e96b8fc27e21b43bbbac2b492906047bc52d964b203fe42ac86fc2f041310ab6c6b4e7f90ae5935efcedaf11674a4363
7
- data.tar.gz: 004cbd92b60fd45996a4ecd9ae38039b3bae703a22f4d804e34390a56662a0f0859992295a83bf0d53f7e4e6191e2c9f416fcc4b7618e54e1b944c73aa4478fc
6
+ metadata.gz: 17c52ea58baf3bda4bf70c9111000a823e9f0eac9fdc2cbece3be95c89162ed19b31e3ec39ce86ee504be590f600d9710afe1e0ce5efe11ef339f4fa9dec963e
7
+ data.tar.gz: f4b66628ef3916cc5d431d36196d9abb278435fc98fba7b90ff6720cc159d3599ff6f0d87c5152b1ba0cf0d252fe4a3052a5344b28bdf8d26d8e59845f0f9d19
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,80 +20,63 @@ module LabClient
114
20
  # Only prompt if explicitly set to nil
115
21
  prompt_for_token if @settings[:token].nil?
116
22
 
117
- self.http = HTTP.new(@settings)
118
- end
23
+ # Initial Delay / Retry Value
24
+ self.delay = 0
25
+ self.retries = 0
119
26
 
120
- def base_url
121
- "#{settings[:url]}/api/v4/"
27
+ # Request Configuration
28
+ self.http = HTTP.new(@settings)
122
29
  end
123
30
 
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
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
129
36
 
130
- def prompt_for_token
131
- print 'Enter Personal Access Token: '
132
- @settings[:token] = $stdin.gets.chomp
133
- end
37
+ debug_handler if debug?
134
38
 
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
- end
39
+ post_request_handlers
140
40
 
141
- def home_file
142
- "#{ENV['HOME']}/.gitlab-labclient"
143
- 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
144
47
 
145
- # Easier Profile Name Access
146
- def profile
147
- if settings&.key? :profile
148
- settings[:profile].to_sym
149
- else
150
- ENV['LABCLIENT_PROFILE'].to_sym
151
- end
152
- end
48
+ # Assume Retry After by Default
49
+ logger.debug('Retry After', value: retry_after) if debug?
50
+ self.delay = retry_after if resp.headers.key? 'retry-after'
153
51
 
154
- # Support for Named Profiles
155
- def setup_profile
156
- 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?
157
54
 
158
- config = Oj.load_file(home_file, { symbol_keys: true })
159
- return false unless config.key? profile
55
+ sleep delay unless ENV['LABCLIENT_TESTING']
160
56
 
161
- self.settings ||= {}
162
- settings.merge! config[profile]
57
+ retry
163
58
  end
59
+ # rubocop:enable Metrics/AbcSize, Metrics/MethodLength
164
60
 
165
- # Load default profile
166
- def fill_configuration
167
- if File.exist? home_file
168
- Oj.load_file(home_file, { symbol_keys: true })
169
- else
170
- {
171
- url: ENV['LABCLIENT_URL'],
172
- token: ENV['LABCLIENT_TOKEN']
173
- }
174
- end
175
- 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?
176
66
 
177
- def request(method, path, klass = nil, body = {}, dump_json = true)
178
- @klass = klass
67
+ # Save Client
68
+ save_client
179
69
 
180
- resp = http.request(method, path, body, dump_json)
70
+ # Exit on Max Retries
71
+ raise LabClient::Error.new(resp), resp.friendly_error if retry_max?
181
72
 
182
73
  raise LabClient::Error.new(resp), resp.friendly_error unless resp.success?
183
74
 
184
75
  # Drop in raw path
185
- resp.instance_variable_set(:@path, path)
76
+ save_path
186
77
 
187
- process resp
188
- rescue LabClient::Error => e
189
- puts e.message unless settings[:quiet]
190
- resp
78
+ # Reset Delay/Retry Factor
79
+ retry_update
191
80
  end
192
81
 
193
82
  # Assume we want LabStruct if @klass is ever nil
@@ -206,5 +95,4 @@ module LabClient
206
95
  end
207
96
  end
208
97
  end
209
- # rubocop:enable Metrics/ClassLength
210
98
  end
@@ -0,0 +1,108 @@
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
+ resp.headers['retry-after'].to_i || 0
98
+ end
99
+
100
+ # Handle Retry Logic
101
+ # 1. If response merits a retry
102
+ # 2. Retry is enabled
103
+ # 3. Retry Sleep Max isn't hit
104
+ def should_retry?
105
+ resp.retry? && settings[:retry] && !retry_max?
106
+ end
107
+ end
108
+ end