labclient 0.3.1 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/labclient.rb +7 -2
- data/lib/labclient/access_levels.rb +0 -0
- data/lib/labclient/appearance/appearance.rb +0 -0
- data/lib/labclient/appearance/show.rb +0 -0
- data/lib/labclient/appearance/update.rb +0 -0
- data/lib/labclient/application_settings/application_setting.rb +0 -0
- data/lib/labclient/application_settings/show.rb +0 -0
- data/lib/labclient/application_settings/update.rb +0 -0
- data/lib/labclient/application_statistics/application_statistics.rb +0 -0
- data/lib/labclient/applications/application.rb +0 -0
- data/lib/labclient/applications/create.rb +0 -0
- data/lib/labclient/applications/delete.rb +0 -0
- data/lib/labclient/applications/list.rb +0 -0
- data/lib/labclient/approvals/client.rb +0 -0
- data/lib/labclient/approvals/merge_approval.rb +0 -0
- data/lib/labclient/approvals/merge_request/approve.rb +0 -0
- data/lib/labclient/approvals/merge_request/create_rule.rb +0 -0
- data/lib/labclient/approvals/merge_request/delete_rule.rb +0 -0
- data/lib/labclient/approvals/merge_request/rules.rb +0 -0
- data/lib/labclient/approvals/merge_request/show.rb +0 -0
- data/lib/labclient/approvals/merge_request/unapprove.rb +0 -0
- data/lib/labclient/approvals/merge_request/update.rb +0 -0
- data/lib/labclient/approvals/merge_request/update_rule.rb +0 -0
- data/lib/labclient/approvals/project/create_rule.rb +0 -0
- data/lib/labclient/approvals/project/delete_rule.rb +0 -0
- data/lib/labclient/approvals/project/rules.rb +0 -0
- data/lib/labclient/approvals/project/show.rb +0 -0
- data/lib/labclient/approvals/project/update.rb +0 -0
- data/lib/labclient/approvals/project/update_rule.rb +0 -0
- data/lib/labclient/approvals/rule.rb +0 -0
- data/lib/labclient/audit_events/audit_event.rb +0 -0
- data/lib/labclient/audit_events/group_list.rb +0 -0
- data/lib/labclient/audit_events/group_show.rb +0 -0
- data/lib/labclient/audit_events/instance_list.rb +0 -0
- data/lib/labclient/audit_events/instance_show.rb +0 -0
- data/lib/labclient/avatar/avatar.rb +0 -0
- data/lib/labclient/avatar/show.rb +0 -0
- data/lib/labclient/awards/award.rb +0 -0
- data/lib/labclient/awards/issues/client.rb +0 -0
- data/lib/labclient/awards/issues/create.rb +0 -0
- data/lib/labclient/awards/issues/delete.rb +0 -0
- data/lib/labclient/awards/issues/list.rb +0 -0
- data/lib/labclient/awards/issues/show.rb +0 -0
- data/lib/labclient/awards/merge_requests/client.rb +0 -0
- data/lib/labclient/awards/merge_requests/create.rb +0 -0
- data/lib/labclient/awards/merge_requests/delete.rb +0 -0
- data/lib/labclient/awards/merge_requests/list.rb +0 -0
- data/lib/labclient/awards/merge_requests/show.rb +0 -0
- data/lib/labclient/awards/snippets/client.rb +0 -0
- data/lib/labclient/awards/snippets/create.rb +0 -0
- data/lib/labclient/awards/snippets/delete.rb +0 -0
- data/lib/labclient/awards/snippets/list.rb +0 -0
- data/lib/labclient/awards/snippets/show.rb +0 -0
- data/lib/labclient/branches/branch.rb +1 -1
- data/lib/labclient/branches/create.rb +0 -0
- data/lib/labclient/branches/delete.rb +0 -0
- data/lib/labclient/branches/delete_merged.rb +0 -0
- data/lib/labclient/branches/list.rb +0 -0
- data/lib/labclient/branches/show.rb +0 -0
- data/lib/labclient/broadcast_messages/broadcast_message.rb +0 -0
- data/lib/labclient/broadcast_messages/create.rb +0 -0
- data/lib/labclient/broadcast_messages/delete.rb +0 -0
- data/lib/labclient/broadcast_messages/list.rb +0 -0
- data/lib/labclient/broadcast_messages/show.rb +0 -0
- data/lib/labclient/broadcast_messages/update.rb +0 -0
- data/lib/labclient/ci_lint/ci_lint.rb +0 -0
- data/lib/labclient/class_helpers.rb +0 -0
- data/lib/labclient/client.rb +41 -153
- data/lib/labclient/client/helpers.rb +108 -0
- data/lib/labclient/client/meta.rb +81 -0
- data/lib/labclient/client/setup.rb +52 -0
- data/lib/labclient/commits/cherry_pick.rb +0 -0
- data/lib/labclient/commits/comment_create.rb +0 -0
- data/lib/labclient/commits/comments.rb +0 -0
- data/lib/labclient/commits/commit.rb +0 -0
- data/lib/labclient/commits/commit_comment.rb +0 -0
- data/lib/labclient/commits/commit_diff.rb +0 -0
- data/lib/labclient/commits/create.rb +0 -0
- data/lib/labclient/commits/diff.rb +0 -0
- data/lib/labclient/commits/list.rb +0 -0
- data/lib/labclient/commits/merge_requests.rb +0 -0
- data/lib/labclient/commits/project_helpers.rb +0 -0
- data/lib/labclient/commits/refs.rb +0 -0
- data/lib/labclient/commits/revert.rb +0 -0
- data/lib/labclient/commits/show.rb +0 -0
- data/lib/labclient/commits/status/list.rb +0 -0
- data/lib/labclient/commits/status/status.rb +0 -0
- data/lib/labclient/commits/status/update.rb +0 -0
- data/lib/labclient/common.rb +9 -4
- data/lib/labclient/curl.rb +0 -0
- data/lib/labclient/deploy_keys/add.rb +0 -0
- data/lib/labclient/deploy_keys/delete.rb +0 -0
- data/lib/labclient/deploy_keys/deploy_key.rb +0 -0
- data/lib/labclient/deploy_keys/enable.rb +0 -0
- data/lib/labclient/deploy_keys/list.rb +0 -0
- data/lib/labclient/deploy_keys/project_helpers.rb +0 -0
- data/lib/labclient/deploy_keys/show.rb +0 -0
- data/lib/labclient/deploy_keys/update.rb +0 -0
- data/lib/labclient/discussions/commits/client.rb +0 -0
- data/lib/labclient/discussions/commits/create.rb +0 -0
- data/lib/labclient/discussions/commits/delete.rb +0 -0
- data/lib/labclient/discussions/commits/list.rb +0 -0
- data/lib/labclient/discussions/commits/show.rb +0 -0
- data/lib/labclient/discussions/commits/update.rb +0 -0
- data/lib/labclient/discussions/discussion.rb +0 -0
- data/lib/labclient/discussions/epics/client.rb +0 -0
- data/lib/labclient/discussions/epics/create.rb +0 -0
- data/lib/labclient/discussions/epics/delete.rb +0 -0
- data/lib/labclient/discussions/epics/list.rb +0 -0
- data/lib/labclient/discussions/epics/show.rb +0 -0
- data/lib/labclient/discussions/epics/update.rb +0 -0
- data/lib/labclient/discussions/issues/client.rb +0 -0
- data/lib/labclient/discussions/issues/create.rb +0 -0
- data/lib/labclient/discussions/issues/delete.rb +0 -0
- data/lib/labclient/discussions/issues/list.rb +0 -0
- data/lib/labclient/discussions/issues/show.rb +0 -0
- data/lib/labclient/discussions/issues/update.rb +0 -0
- data/lib/labclient/discussions/merge_requests/client.rb +0 -0
- data/lib/labclient/discussions/merge_requests/create.rb +0 -0
- data/lib/labclient/discussions/merge_requests/delete.rb +0 -0
- data/lib/labclient/discussions/merge_requests/list.rb +0 -0
- data/lib/labclient/discussions/merge_requests/show.rb +0 -0
- data/lib/labclient/discussions/merge_requests/update.rb +0 -0
- data/lib/labclient/discussions/snippets/client.rb +0 -0
- data/lib/labclient/discussions/snippets/create.rb +0 -0
- data/lib/labclient/discussions/snippets/delete.rb +0 -0
- data/lib/labclient/discussions/snippets/list.rb +0 -0
- data/lib/labclient/discussions/snippets/show.rb +0 -0
- data/lib/labclient/discussions/snippets/update.rb +0 -0
- data/lib/labclient/docs.rb +6 -1
- data/lib/labclient/epics/create.rb +0 -0
- data/lib/labclient/epics/delete.rb +0 -0
- data/lib/labclient/epics/epic.rb +0 -0
- data/lib/labclient/epics/issues/add.rb +0 -0
- data/lib/labclient/epics/issues/list.rb +0 -0
- data/lib/labclient/epics/issues/remove.rb +1 -1
- data/lib/labclient/epics/issues/update.rb +1 -1
- data/lib/labclient/epics/list.rb +0 -0
- data/lib/labclient/epics/show.rb +0 -0
- data/lib/labclient/epics/todo.rb +0 -0
- data/lib/labclient/epics/update.rb +0 -0
- data/lib/labclient/error.rb +9 -0
- data/lib/labclient/events/event.rb +0 -0
- data/lib/labclient/events/list.rb +0 -0
- data/lib/labclient/events/project.rb +0 -0
- data/lib/labclient/events/user.rb +0 -0
- data/lib/labclient/feature_flags/create.rb +0 -0
- data/lib/labclient/feature_flags/delete.rb +0 -0
- data/lib/labclient/feature_flags/feature_flag.rb +0 -0
- data/lib/labclient/feature_flags/list.rb +0 -0
- data/lib/labclient/files/create.rb +0 -0
- data/lib/labclient/files/delete.rb +3 -0
- data/lib/labclient/files/show.rb +3 -0
- data/lib/labclient/files/update.rb +3 -0
- data/lib/labclient/generator/generator.rb +0 -0
- data/lib/labclient/generator/names.rb +0 -0
- data/lib/labclient/generator/template_helper.rb +4 -3
- data/lib/labclient/generator/templates/environments.rb +0 -0
- data/lib/labclient/generator/templates/pages.rb +0 -0
- data/lib/labclient/generator/templates/pipeline_trigger.rb +0 -0
- data/lib/labclient/generator/wizard.rb +11 -10
- data/lib/labclient/groups/access_requests/access_request.rb +0 -0
- data/lib/labclient/groups/access_requests/approve.rb +0 -0
- data/lib/labclient/groups/access_requests/client.rb +0 -0
- data/lib/labclient/groups/access_requests/create.rb +0 -0
- data/lib/labclient/groups/access_requests/deny.rb +0 -0
- data/lib/labclient/groups/access_requests/list.rb +0 -0
- data/lib/labclient/groups/badges/client.rb +0 -0
- data/lib/labclient/groups/badges/create.rb +0 -0
- data/lib/labclient/groups/badges/delete.rb +0 -0
- data/lib/labclient/groups/badges/group_badge.rb +0 -0
- data/lib/labclient/groups/badges/list.rb +0 -0
- data/lib/labclient/groups/badges/preview.rb +0 -0
- data/lib/labclient/groups/badges/show.rb +0 -0
- data/lib/labclient/groups/badges/update.rb +0 -0
- data/lib/labclient/groups/clusters/add.rb +0 -0
- data/lib/labclient/groups/clusters/client.rb +0 -0
- data/lib/labclient/groups/clusters/delete.rb +0 -0
- data/lib/labclient/groups/clusters/group_cluster.rb +0 -0
- data/lib/labclient/groups/clusters/list.rb +0 -0
- data/lib/labclient/groups/clusters/show.rb +0 -0
- data/lib/labclient/groups/clusters/update.rb +0 -0
- data/lib/labclient/groups/create.rb +0 -0
- data/lib/labclient/groups/delete.rb +0 -0
- data/lib/labclient/groups/group.rb +0 -2
- data/lib/labclient/groups/hooks/client.rb +0 -0
- data/lib/labclient/groups/hooks/create.rb +0 -0
- data/lib/labclient/groups/hooks/delete.rb +0 -0
- data/lib/labclient/groups/hooks/group_hook.rb +0 -0
- data/lib/labclient/groups/hooks/list.rb +0 -0
- data/lib/labclient/groups/hooks/show.rb +0 -0
- data/lib/labclient/groups/hooks/update.rb +0 -0
- data/lib/labclient/groups/labels/client.rb +0 -0
- data/lib/labclient/groups/labels/create.rb +0 -0
- data/lib/labclient/groups/labels/delete.rb +0 -0
- data/lib/labclient/groups/labels/group_label.rb +0 -0
- data/lib/labclient/groups/labels/list.rb +0 -0
- data/lib/labclient/groups/labels/show.rb +0 -0
- data/lib/labclient/groups/labels/subscribe.rb +0 -0
- data/lib/labclient/groups/labels/unsubscribe.rb +0 -0
- data/lib/labclient/groups/labels/update.rb +0 -0
- data/lib/labclient/groups/ldap/client.rb +0 -0
- data/lib/labclient/groups/ldap/create.rb +0 -0
- data/lib/labclient/groups/ldap/delete.rb +0 -0
- data/lib/labclient/groups/ldap/link.rb +0 -0
- data/lib/labclient/groups/ldap/list.rb +0 -0
- data/lib/labclient/groups/ldap/sync.rb +0 -0
- data/lib/labclient/groups/list.rb +0 -0
- data/lib/labclient/groups/milestones/burndown.rb +0 -0
- data/lib/labclient/groups/milestones/client.rb +0 -0
- data/lib/labclient/groups/milestones/create.rb +0 -0
- data/lib/labclient/groups/milestones/delete.rb +0 -0
- data/lib/labclient/groups/milestones/group_milestone.rb +0 -0
- data/lib/labclient/groups/milestones/issues.rb +0 -0
- data/lib/labclient/groups/milestones/list.rb +0 -0
- data/lib/labclient/groups/milestones/merge_requests.rb +0 -0
- data/lib/labclient/groups/milestones/show.rb +0 -0
- data/lib/labclient/groups/milestones/update.rb +0 -0
- data/lib/labclient/groups/projects.rb +0 -0
- data/lib/labclient/groups/restore.rb +0 -0
- data/lib/labclient/groups/runners.rb +0 -0
- data/lib/labclient/groups/search.rb +2 -6
- data/lib/labclient/groups/show.rb +0 -0
- data/lib/labclient/groups/stub.rb +1 -0
- data/lib/labclient/groups/subgroups.rb +0 -0
- data/lib/labclient/groups/transfer.rb +0 -0
- data/lib/labclient/groups/update.rb +0 -0
- data/lib/labclient/http.rb +44 -12
- data/lib/labclient/impersonation_tokens/create.rb +0 -0
- data/lib/labclient/impersonation_tokens/impersonation_token.rb +0 -0
- data/lib/labclient/impersonation_tokens/list.rb +0 -0
- data/lib/labclient/impersonation_tokens/revoke.rb +0 -0
- data/lib/labclient/impersonation_tokens/show.rb +0 -0
- data/lib/labclient/issues/agent_detail.rb +0 -0
- data/lib/labclient/issues/closed_by.rb +0 -0
- data/lib/labclient/issues/create.rb +0 -0
- data/lib/labclient/issues/delete.rb +0 -0
- data/lib/labclient/issues/group_issues.rb +0 -0
- data/lib/labclient/issues/issue.rb +1 -1
- data/lib/labclient/issues/list.rb +0 -0
- data/lib/labclient/issues/move.rb +0 -0
- data/lib/labclient/issues/notes.rb +0 -0
- data/lib/labclient/issues/participants.rb +0 -0
- data/lib/labclient/issues/project_issues.rb +0 -0
- data/lib/labclient/issues/related_merge_requests.rb +0 -0
- data/lib/labclient/issues/show.rb +0 -0
- data/lib/labclient/issues/subscribe.rb +0 -0
- data/lib/labclient/issues/time_stats.rb +0 -0
- data/lib/labclient/issues/todo.rb +0 -0
- data/lib/labclient/issues/unsubscribe.rb +0 -0
- data/lib/labclient/issues/update.rb +0 -0
- data/lib/labclient/jobs/artifacts.rb +0 -0
- data/lib/labclient/jobs/artifacts_latest.rb +0 -0
- data/lib/labclient/jobs/artifacts_path.rb +0 -0
- data/lib/labclient/jobs/cancel.rb +0 -0
- data/lib/labclient/jobs/delete.rb +0 -0
- data/lib/labclient/jobs/erase.rb +0 -0
- data/lib/labclient/jobs/job.rb +0 -0
- data/lib/labclient/jobs/keep.rb +0 -0
- data/lib/labclient/jobs/pipeline_list.rb +0 -0
- data/lib/labclient/jobs/play.rb +0 -0
- data/lib/labclient/jobs/project_list.rb +0 -0
- data/lib/labclient/jobs/retry.rb +0 -0
- data/lib/labclient/jobs/show.rb +0 -0
- data/lib/labclient/jobs/trace.rb +0 -0
- data/lib/labclient/keys/fingerprint.rb +0 -0
- data/lib/labclient/keys/key.rb +0 -0
- data/lib/labclient/keys/project.rb +0 -0
- data/lib/labclient/keys/show.rb +0 -0
- data/lib/labclient/keys/user.rb +0 -0
- data/lib/labclient/klass.rb +9 -4
- data/lib/labclient/lab_struct.rb +12 -0
- data/lib/labclient/license/add.rb +0 -0
- data/lib/labclient/license/delete.rb +0 -0
- data/lib/labclient/license/license.rb +0 -0
- data/lib/labclient/license/list.rb +0 -0
- data/lib/labclient/logger.rb +50 -0
- data/lib/labclient/markdown/markdown.rb +0 -0
- data/lib/labclient/members/groups/add.rb +0 -0
- data/lib/labclient/members/groups/delete.rb +0 -0
- data/lib/labclient/members/groups/list.rb +0 -0
- data/lib/labclient/members/groups/show.rb +0 -0
- data/lib/labclient/members/groups/update.rb +0 -0
- data/lib/labclient/members/member.rb +0 -0
- data/lib/labclient/members/members.rb +0 -0
- data/lib/labclient/members/projects/add.rb +0 -0
- data/lib/labclient/members/projects/delete.rb +0 -0
- data/lib/labclient/members/projects/list.rb +0 -0
- data/lib/labclient/members/projects/show.rb +0 -0
- data/lib/labclient/members/projects/update.rb +0 -0
- data/lib/labclient/merge_requests/accept.rb +0 -0
- data/lib/labclient/merge_requests/cancel_auto_merge.rb +0 -0
- data/lib/labclient/merge_requests/change.rb +0 -0
- data/lib/labclient/merge_requests/changes.rb +0 -0
- data/lib/labclient/merge_requests/closes_issues.rb +0 -0
- data/lib/labclient/merge_requests/commits.rb +0 -0
- data/lib/labclient/merge_requests/create.rb +0 -0
- data/lib/labclient/merge_requests/delete.rb +0 -0
- data/lib/labclient/merge_requests/diff.rb +0 -0
- data/lib/labclient/merge_requests/diff_versions.rb +0 -0
- data/lib/labclient/merge_requests/list.rb +1 -1
- data/lib/labclient/merge_requests/merge_ref.rb +0 -0
- data/lib/labclient/merge_requests/merge_request.rb +1 -3
- data/lib/labclient/merge_requests/notes.rb +0 -0
- data/lib/labclient/merge_requests/participants.rb +0 -0
- data/lib/labclient/merge_requests/pipelines.rb +0 -0
- data/lib/labclient/merge_requests/rebase.rb +0 -0
- data/lib/labclient/merge_requests/show.rb +0 -0
- data/lib/labclient/merge_requests/subscribe.rb +0 -0
- data/lib/labclient/merge_requests/time_stats.rb +0 -0
- data/lib/labclient/merge_requests/todo.rb +0 -0
- data/lib/labclient/merge_requests/unsubscribe.rb +0 -0
- data/lib/labclient/merge_requests/update.rb +0 -0
- data/lib/labclient/namespaces/list.rb +0 -0
- data/lib/labclient/namespaces/namespace.rb +0 -0
- data/lib/labclient/namespaces/show.rb +0 -0
- data/lib/labclient/notes/epics/client.rb +0 -0
- data/lib/labclient/notes/epics/create.rb +0 -0
- data/lib/labclient/notes/epics/delete.rb +0 -0
- data/lib/labclient/notes/epics/list.rb +0 -0
- data/lib/labclient/notes/epics/show.rb +0 -0
- data/lib/labclient/notes/epics/update.rb +0 -0
- data/lib/labclient/notes/issues/client.rb +0 -0
- data/lib/labclient/notes/issues/create.rb +0 -0
- data/lib/labclient/notes/issues/delete.rb +0 -0
- data/lib/labclient/notes/issues/list.rb +0 -0
- data/lib/labclient/notes/issues/show.rb +0 -0
- data/lib/labclient/notes/issues/update.rb +0 -0
- data/lib/labclient/notes/merge_requests/client.rb +0 -0
- data/lib/labclient/notes/merge_requests/create.rb +0 -0
- data/lib/labclient/notes/merge_requests/delete.rb +0 -0
- data/lib/labclient/notes/merge_requests/list.rb +0 -0
- data/lib/labclient/notes/merge_requests/show.rb +0 -0
- data/lib/labclient/notes/merge_requests/update.rb +0 -0
- data/lib/labclient/notes/note.rb +0 -0
- data/lib/labclient/notes/snippets/client.rb +0 -0
- data/lib/labclient/notes/snippets/create.rb +0 -0
- data/lib/labclient/notes/snippets/delete.rb +0 -0
- data/lib/labclient/notes/snippets/list.rb +0 -0
- data/lib/labclient/notes/snippets/show.rb +0 -0
- data/lib/labclient/notes/snippets/update.rb +0 -0
- data/lib/labclient/notifications/list.rb +0 -0
- data/lib/labclient/notifications/update.rb +0 -0
- data/lib/labclient/overview.rb +83 -11
- data/lib/labclient/paginated_response.rb +12 -2
- data/lib/labclient/pipelines/cancel.rb +0 -0
- data/lib/labclient/pipelines/create.rb +0 -0
- data/lib/labclient/pipelines/delete.rb +0 -0
- data/lib/labclient/pipelines/list.rb +0 -0
- data/lib/labclient/pipelines/pipeline.rb +1 -1
- data/lib/labclient/pipelines/retry.rb +0 -0
- data/lib/labclient/pipelines/show.rb +0 -0
- data/lib/labclient/pipelines/variables.rb +0 -0
- data/lib/labclient/projects/access_requests/access_request.rb +0 -0
- data/lib/labclient/projects/access_requests/approve.rb +0 -0
- data/lib/labclient/projects/access_requests/client.rb +0 -0
- data/lib/labclient/projects/access_requests/create.rb +0 -0
- data/lib/labclient/projects/access_requests/deny.rb +0 -0
- data/lib/labclient/projects/access_requests/list.rb +0 -0
- data/lib/labclient/projects/archive.rb +0 -0
- data/lib/labclient/projects/badges/client.rb +0 -0
- data/lib/labclient/projects/badges/create.rb +0 -0
- data/lib/labclient/projects/badges/delete.rb +0 -0
- data/lib/labclient/projects/badges/list.rb +0 -0
- data/lib/labclient/projects/badges/preview.rb +0 -0
- data/lib/labclient/projects/badges/project_badge.rb +0 -0
- data/lib/labclient/projects/badges/show.rb +0 -0
- data/lib/labclient/projects/badges/update.rb +0 -0
- data/lib/labclient/projects/clusters/add.rb +0 -0
- data/lib/labclient/projects/clusters/client.rb +0 -0
- data/lib/labclient/projects/clusters/delete.rb +0 -0
- data/lib/labclient/projects/clusters/list.rb +0 -0
- data/lib/labclient/projects/clusters/project_cluster.rb +0 -0
- data/lib/labclient/projects/clusters/show.rb +0 -0
- data/lib/labclient/projects/clusters/update.rb +0 -0
- data/lib/labclient/projects/create.rb +0 -0
- data/lib/labclient/projects/delete.rb +0 -0
- data/lib/labclient/projects/deployments/client.rb +0 -0
- data/lib/labclient/projects/deployments/create.rb +0 -0
- data/lib/labclient/projects/deployments/list.rb +0 -0
- data/lib/labclient/projects/deployments/merge_requests.rb +0 -0
- data/lib/labclient/projects/deployments/project_deployment.rb +0 -0
- data/lib/labclient/projects/deployments/show.rb +0 -0
- data/lib/labclient/projects/deployments/update.rb +0 -0
- data/lib/labclient/projects/environments/client.rb +0 -0
- data/lib/labclient/projects/environments/create.rb +0 -0
- data/lib/labclient/projects/environments/delete.rb +0 -0
- data/lib/labclient/projects/environments/list.rb +0 -0
- data/lib/labclient/projects/environments/project_environment.rb +0 -0
- data/lib/labclient/projects/environments/show.rb +0 -0
- data/lib/labclient/projects/environments/stop.rb +1 -1
- data/lib/labclient/projects/environments/update.rb +0 -0
- data/lib/labclient/projects/events.rb +0 -0
- data/lib/labclient/projects/forks/existing.rb +0 -0
- data/lib/labclient/projects/forks/fork.rb +0 -0
- data/lib/labclient/projects/forks/list.rb +0 -0
- data/lib/labclient/projects/forks/remove.rb +0 -0
- data/lib/labclient/projects/github_import.rb +0 -0
- data/lib/labclient/projects/hooks/client.rb +0 -0
- data/lib/labclient/projects/hooks/create.rb +0 -0
- data/lib/labclient/projects/hooks/delete.rb +0 -0
- data/lib/labclient/projects/hooks/list.rb +0 -0
- data/lib/labclient/projects/hooks/project_hook.rb +0 -0
- data/lib/labclient/projects/hooks/show.rb +0 -0
- data/lib/labclient/projects/hooks/update.rb +0 -0
- data/lib/labclient/projects/housekeeping.rb +0 -0
- data/lib/labclient/projects/labels/client.rb +0 -0
- data/lib/labclient/projects/labels/create.rb +0 -0
- data/lib/labclient/projects/labels/delete.rb +0 -0
- data/lib/labclient/projects/labels/list.rb +0 -0
- data/lib/labclient/projects/labels/project_label.rb +0 -0
- data/lib/labclient/projects/labels/promote.rb +0 -0
- data/lib/labclient/projects/labels/show.rb +0 -0
- data/lib/labclient/projects/labels/subscribe.rb +0 -0
- data/lib/labclient/projects/labels/unsubscribe.rb +0 -0
- data/lib/labclient/projects/labels/update.rb +0 -0
- data/lib/labclient/projects/languages.rb +0 -0
- data/lib/labclient/projects/list.rb +0 -0
- data/lib/labclient/projects/methods.rb +1 -1
- data/lib/labclient/projects/milestones/burndown.rb +0 -0
- data/lib/labclient/projects/milestones/client.rb +0 -0
- data/lib/labclient/projects/milestones/create.rb +0 -0
- data/lib/labclient/projects/milestones/delete.rb +0 -0
- data/lib/labclient/projects/milestones/issues.rb +0 -0
- data/lib/labclient/projects/milestones/list.rb +0 -0
- data/lib/labclient/projects/milestones/merge_requests.rb +0 -0
- data/lib/labclient/projects/milestones/project_milestone.rb +0 -0
- data/lib/labclient/projects/milestones/promote.rb +0 -0
- data/lib/labclient/projects/milestones/show.rb +0 -0
- data/lib/labclient/projects/milestones/update.rb +0 -0
- data/lib/labclient/projects/mirror_start.rb +0 -0
- data/lib/labclient/projects/mirrors/client.rb +0 -0
- data/lib/labclient/projects/mirrors/create.rb +0 -0
- data/lib/labclient/projects/mirrors/list.rb +0 -0
- data/lib/labclient/projects/mirrors/project_mirror.rb +0 -0
- data/lib/labclient/projects/mirrors/update.rb +0 -0
- data/lib/labclient/projects/pipeline_schedules/client.rb +0 -0
- data/lib/labclient/projects/pipeline_schedules/create.rb +0 -0
- data/lib/labclient/projects/pipeline_schedules/delete.rb +0 -0
- data/lib/labclient/projects/pipeline_schedules/list.rb +0 -0
- data/lib/labclient/projects/pipeline_schedules/pipeline_schedule.rb +0 -0
- data/lib/labclient/projects/pipeline_schedules/play.rb +0 -0
- data/lib/labclient/projects/pipeline_schedules/show.rb +0 -0
- data/lib/labclient/projects/pipeline_schedules/take_ownership.rb +0 -0
- data/lib/labclient/projects/pipeline_schedules/update.rb +0 -0
- data/lib/labclient/projects/pipeline_schedules/variables/client.rb +0 -0
- data/lib/labclient/projects/pipeline_schedules/variables/create.rb +0 -0
- data/lib/labclient/projects/pipeline_schedules/variables/delete.rb +0 -0
- data/lib/labclient/projects/pipeline_schedules/variables/update.rb +0 -0
- data/lib/labclient/projects/project.rb +0 -0
- data/lib/labclient/projects/push_rules/client.rb +0 -0
- data/lib/labclient/projects/push_rules/create.rb +0 -0
- data/lib/labclient/projects/push_rules/delete.rb +0 -0
- data/lib/labclient/projects/push_rules/push_rule.rb +0 -0
- data/lib/labclient/projects/push_rules/show.rb +0 -0
- data/lib/labclient/projects/push_rules/update.rb +0 -0
- data/lib/labclient/projects/reference.rb +2 -2
- data/lib/labclient/projects/release_links/client.rb +0 -0
- data/lib/labclient/projects/release_links/create.rb +0 -0
- data/lib/labclient/projects/release_links/delete.rb +0 -0
- data/lib/labclient/projects/release_links/list.rb +0 -0
- data/lib/labclient/projects/release_links/project_release_link.rb +0 -0
- data/lib/labclient/projects/release_links/show.rb +0 -0
- data/lib/labclient/projects/release_links/update.rb +0 -0
- data/lib/labclient/projects/releases/client.rb +0 -0
- data/lib/labclient/projects/releases/create.rb +0 -0
- data/lib/labclient/projects/releases/delete.rb +0 -0
- data/lib/labclient/projects/releases/evidence.rb +0 -0
- data/lib/labclient/projects/releases/list.rb +0 -0
- data/lib/labclient/projects/releases/project_release.rb +0 -0
- data/lib/labclient/projects/releases/show.rb +0 -0
- data/lib/labclient/projects/releases/update.rb +0 -0
- data/lib/labclient/projects/resources.rb +0 -0
- data/lib/labclient/projects/restore.rb +0 -0
- data/lib/labclient/projects/runners/client.rb +0 -0
- data/lib/labclient/projects/runners/disable.rb +0 -0
- data/lib/labclient/projects/runners/enable.rb +0 -0
- data/lib/labclient/projects/runners/list.rb +0 -0
- data/lib/labclient/projects/search.rb +2 -6
- data/lib/labclient/projects/services/client.rb +0 -0
- data/lib/labclient/projects/services/delete.rb +0 -0
- data/lib/labclient/projects/services/list.rb +0 -0
- data/lib/labclient/projects/services/project_service.rb +0 -0
- data/lib/labclient/projects/services/show.rb +0 -0
- data/lib/labclient/projects/services/update.rb +0 -0
- data/lib/labclient/projects/share.rb +0 -0
- data/lib/labclient/projects/show.rb +0 -0
- data/lib/labclient/projects/snapshot.rb +0 -0
- data/lib/labclient/projects/snippets/agent_detail.rb +0 -0
- data/lib/labclient/projects/snippets/client.rb +0 -0
- data/lib/labclient/projects/snippets/content.rb +0 -0
- data/lib/labclient/projects/snippets/create.rb +0 -0
- data/lib/labclient/projects/snippets/delete.rb +0 -0
- data/lib/labclient/projects/snippets/list.rb +0 -0
- data/lib/labclient/projects/snippets/project_snippet.rb +0 -0
- data/lib/labclient/projects/snippets/show.rb +0 -0
- data/lib/labclient/projects/snippets/update.rb +0 -0
- data/lib/labclient/projects/stars/star.rb +0 -0
- data/lib/labclient/projects/stars/starred_projects.rb +0 -0
- data/lib/labclient/projects/stars/starrers.rb +0 -0
- data/lib/labclient/projects/submodule.rb +0 -0
- data/lib/labclient/projects/transfer.rb +0 -0
- data/lib/labclient/projects/triggers/client.rb +0 -0
- data/lib/labclient/projects/triggers/create.rb +0 -0
- data/lib/labclient/projects/triggers/delete.rb +0 -0
- data/lib/labclient/projects/triggers/list.rb +0 -0
- data/lib/labclient/projects/triggers/project_trigger.rb +0 -0
- data/lib/labclient/projects/triggers/show.rb +0 -0
- data/lib/labclient/projects/unarchive.rb +0 -0
- data/lib/labclient/projects/unshare.rb +0 -0
- data/lib/labclient/projects/update.rb +0 -0
- data/lib/labclient/projects/upload.rb +0 -0
- data/lib/labclient/projects/user.rb +0 -0
- data/lib/labclient/projects/users.rb +0 -0
- data/lib/labclient/projects/variables/client.rb +0 -0
- data/lib/labclient/projects/variables/create.rb +0 -0
- data/lib/labclient/projects/variables/delete.rb +0 -0
- data/lib/labclient/projects/variables/list.rb +0 -0
- data/lib/labclient/projects/variables/project_variable.rb +0 -0
- data/lib/labclient/projects/variables/show.rb +0 -0
- data/lib/labclient/projects/variables/update.rb +0 -0
- data/lib/labclient/protected_branches/code_owner_approval.rb +0 -0
- data/lib/labclient/protected_branches/list.rb +0 -0
- data/lib/labclient/protected_branches/protect.rb +0 -0
- data/lib/labclient/protected_branches/show.rb +0 -0
- data/lib/labclient/protected_branches/unprotect.rb +0 -0
- data/lib/labclient/protected_environments/list.rb +0 -0
- data/lib/labclient/protected_environments/protect.rb +0 -0
- data/lib/labclient/protected_environments/protected_environment.rb +0 -0
- data/lib/labclient/protected_environments/show.rb +0 -0
- data/lib/labclient/protected_environments/unprotect.rb +0 -0
- data/lib/labclient/protected_tags/list.rb +0 -0
- data/lib/labclient/protected_tags/protect.rb +0 -0
- data/lib/labclient/protected_tags/show.rb +0 -0
- data/lib/labclient/protected_tags/unprotect.rb +0 -0
- data/lib/labclient/registry/delete.rb +0 -0
- data/lib/labclient/registry/group.rb +0 -0
- data/lib/labclient/registry/list.rb +0 -0
- data/lib/labclient/registry/repository.rb +0 -0
- data/lib/labclient/registry/tags/bulk.rb +0 -0
- data/lib/labclient/registry/tags/delete.rb +0 -0
- data/lib/labclient/registry/tags/details.rb +0 -0
- data/lib/labclient/registry/tags/list.rb +0 -0
- data/lib/labclient/registry/tags/tag.rb +0 -0
- data/lib/labclient/repository/alias.rb +0 -0
- data/lib/labclient/repository/archive.rb +0 -0
- data/lib/labclient/repository/blob.rb +0 -0
- data/lib/labclient/repository/compare.rb +0 -0
- data/lib/labclient/repository/contributors.rb +0 -0
- data/lib/labclient/repository/merge_base.rb +0 -0
- data/lib/labclient/repository/raw_blob.rb +0 -0
- data/lib/labclient/repository/tree.rb +0 -0
- data/lib/labclient/resource_labels/epics/client.rb +0 -0
- data/lib/labclient/resource_labels/epics/list.rb +0 -0
- data/lib/labclient/resource_labels/epics/show.rb +0 -0
- data/lib/labclient/resource_labels/issues/client.rb +0 -0
- data/lib/labclient/resource_labels/issues/list.rb +0 -0
- data/lib/labclient/resource_labels/issues/show.rb +0 -0
- data/lib/labclient/resource_labels/merge_requests/client.rb +0 -0
- data/lib/labclient/resource_labels/merge_requests/list.rb +0 -0
- data/lib/labclient/resource_labels/merge_requests/show.rb +0 -0
- data/lib/labclient/resource_labels/resource_label.rb +0 -0
- data/lib/labclient/runners/all.rb +0 -0
- data/lib/labclient/runners/delete.rb +0 -0
- data/lib/labclient/runners/jobs.rb +0 -0
- data/lib/labclient/runners/list.rb +0 -0
- data/lib/labclient/runners/register.rb +0 -0
- data/lib/labclient/runners/remove.rb +0 -0
- data/lib/labclient/runners/runner.rb +0 -0
- data/lib/labclient/runners/show.rb +0 -0
- data/lib/labclient/runners/update.rb +0 -0
- data/lib/labclient/runners/verify.rb +0 -0
- data/lib/labclient/search/search.rb +3 -3
- data/lib/labclient/snippets/agent_detail.rb +0 -0
- data/lib/labclient/snippets/content.rb +0 -0
- data/lib/labclient/snippets/create.rb +0 -0
- data/lib/labclient/snippets/delete.rb +0 -0
- data/lib/labclient/snippets/list.rb +0 -0
- data/lib/labclient/snippets/public.rb +0 -0
- data/lib/labclient/snippets/show.rb +0 -0
- data/lib/labclient/snippets/snippet.rb +0 -0
- data/lib/labclient/snippets/update.rb +0 -0
- data/lib/labclient/system_hooks/add.rb +0 -0
- data/lib/labclient/system_hooks/delete.rb +0 -0
- data/lib/labclient/system_hooks/list.rb +0 -0
- data/lib/labclient/system_hooks/system_hook.rb +0 -0
- data/lib/labclient/system_hooks/test.rb +0 -0
- data/lib/labclient/tags/create.rb +0 -0
- data/lib/labclient/tags/delete.rb +0 -0
- data/lib/labclient/tags/list.rb +0 -0
- data/lib/labclient/tags/release.rb +0 -0
- data/lib/labclient/tags/show.rb +0 -0
- data/lib/labclient/tags/tag.rb +0 -0
- data/lib/labclient/tags/update.rb +0 -0
- data/lib/labclient/todos/list.rb +0 -0
- data/lib/labclient/todos/mark_all_done.rb +0 -0
- data/lib/labclient/todos/mark_done.rb +0 -0
- data/lib/labclient/todos/todo.rb +0 -0
- data/lib/labclient/users/activate.rb +0 -0
- data/lib/labclient/users/activity.rb +0 -0
- data/lib/labclient/users/block.rb +0 -0
- data/lib/labclient/users/counts.rb +0 -0
- data/lib/labclient/users/create.rb +0 -0
- data/lib/labclient/users/current.rb +0 -0
- data/lib/labclient/users/deactivate.rb +0 -0
- data/lib/labclient/users/delete.rb +0 -0
- data/lib/labclient/users/delete_identity.rb +0 -0
- data/lib/labclient/users/email/client.rb +0 -0
- data/lib/labclient/users/email/create.rb +0 -0
- data/lib/labclient/users/email/delete.rb +0 -0
- data/lib/labclient/users/email/email.rb +0 -0
- data/lib/labclient/users/email/list.rb +0 -0
- data/lib/labclient/users/email/show.rb +0 -0
- data/lib/labclient/users/gpg/client.rb +0 -0
- data/lib/labclient/users/gpg/create.rb +0 -0
- data/lib/labclient/users/gpg/delete.rb +0 -0
- data/lib/labclient/users/gpg/gpg_key.rb +0 -0
- data/lib/labclient/users/gpg/list.rb +0 -0
- data/lib/labclient/users/gpg/show.rb +0 -0
- data/lib/labclient/users/keys/client.rb +0 -0
- data/lib/labclient/users/keys/create.rb +0 -0
- data/lib/labclient/users/keys/delete.rb +0 -0
- data/lib/labclient/users/keys/list.rb +0 -0
- data/lib/labclient/users/keys/show.rb +0 -0
- data/lib/labclient/users/list.rb +0 -0
- data/lib/labclient/users/membership.rb +0 -0
- data/lib/labclient/users/memberships.rb +0 -0
- data/lib/labclient/users/search.rb +0 -0
- data/lib/labclient/users/show.rb +0 -0
- data/lib/labclient/users/status.rb +0 -0
- data/lib/labclient/users/status_set.rb +0 -0
- data/lib/labclient/users/unblock.rb +0 -0
- data/lib/labclient/users/update.rb +0 -0
- data/lib/labclient/users/user.rb +10 -0
- data/lib/labclient/version.rb +1 -1
- data/lib/labclient/version/show.rb +0 -0
- data/lib/labclient/wikis/create.rb +0 -0
- data/lib/labclient/wikis/delete.rb +0 -0
- data/lib/labclient/wikis/list.rb +0 -0
- data/lib/labclient/wikis/show.rb +0 -0
- data/lib/labclient/wikis/update.rb +0 -0
- data/lib/labclient/wikis/upload.rb +0 -0
- data/lib/labclient/wikis/wiki.rb +0 -0
- metadata +66 -20
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '038bb19b37338ea79eae25d376f49c470e3a3901e84d9f578e51da0ef78f9041'
|
4
|
+
data.tar.gz: 8b7893bbcefc7fa4cbecdf1e3f1b3a21d0298678bb9ae8ed30cc2df13eee2e3f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
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
|
data/lib/labclient/client.rb
CHANGED
@@ -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
|
-
|
7
|
-
|
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
|
-
|
118
|
-
|
23
|
+
# Initial Delay / Retry Value
|
24
|
+
self.delay = 0
|
25
|
+
self.retries = 0
|
119
26
|
|
120
|
-
|
121
|
-
|
27
|
+
# Request Configuration
|
28
|
+
self.http = HTTP.new(@settings)
|
122
29
|
end
|
123
30
|
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
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
|
-
|
131
|
-
print 'Enter Personal Access Token: '
|
132
|
-
@settings[:token] = $stdin.gets.chomp
|
133
|
-
end
|
37
|
+
debug_handler if debug?
|
134
38
|
|
135
|
-
|
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
|
-
|
142
|
-
|
143
|
-
|
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
|
-
|
146
|
-
|
147
|
-
if
|
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
|
-
|
155
|
-
|
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
|
-
|
159
|
-
return false unless config.key? profile
|
55
|
+
sleep delay unless ENV['LABCLIENT_TESTING']
|
160
56
|
|
161
|
-
|
162
|
-
settings.merge! config[profile]
|
57
|
+
retry
|
163
58
|
end
|
59
|
+
# rubocop:enable Metrics/AbcSize, Metrics/MethodLength
|
164
60
|
|
165
|
-
#
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
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
|
-
|
178
|
-
|
67
|
+
# Save Client
|
68
|
+
save_client
|
179
69
|
|
180
|
-
|
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
|
-
|
76
|
+
save_path
|
186
77
|
|
187
|
-
|
188
|
-
|
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
|