Class: Legion::Extensions::Github::Client

Constant Summary

Constants included from Helpers::Client

Helpers::Client::CREDENTIAL_RESOLVERS

Constants included from Helpers::TokenCache

Helpers::TokenCache::TOKEN_BUFFER_SECONDS

Constants included from App::Runners::Manifest

App::Runners::Manifest::DEFAULT_EVENTS, App::Runners::Manifest::DEFAULT_PERMISSIONS

Constants included from App::Runners::Webhooks

App::Runners::Webhooks::SCOPE_INVALIDATION_EVENTS

Constants included from Helpers::Cache

Helpers::Cache::DEFAULT_TTL, Helpers::Cache::DEFAULT_TTLS

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from OAuth::Runners::Auth

#authorize_url, #exchange_code, #generate_pkce, #oauth_connection, #poll_device_code, #refresh_token, #request_device_code, #revoke_token

Methods included from Helpers::Client

#gh_cli_token_output, #max_fallback_retries, #on_rate_limit, #on_scope_authorized, #on_scope_denied, #resolve_broker_app, #resolve_credential, #resolve_env, #resolve_gh_cli, #resolve_next_credential, #resolve_settings_app, #resolve_settings_delegated, #resolve_settings_pat, #resolve_vault_app, #resolve_vault_delegated, #resolve_vault_pat

Methods included from Helpers::ScopeRegistry

#credential_fingerprint, #invalidate_scope, #mark_rate_limited, #rate_limited?, #register_scope, #scope_status

Methods included from Helpers::TokenCache

#fetch_token, #mark_rate_limited, #rate_limited?, #store_token

Methods included from App::Runners::CredentialStore

#load_oauth_token, #store_app_credentials, #store_oauth_token

Methods included from App::Runners::Installations

#delete_installation, #get_installation, #list_installation_repos, #list_installations, #suspend_installation, #unsuspend_installation

Methods included from App::Runners::Manifest

#exchange_manifest_code, #generate_manifest, #manifest_url

Methods included from App::Runners::Webhooks

#invalidate_all_scopes_for_owner, #invalidate_scopes_for_event, #parse_event, #receive_event, #verify_signature

Methods included from App::Runners::Auth

#create_installation_token, #generate_jwt, #get_installation, #list_installations

Methods included from Runners::RepositoryWebhooks

#create_webhook, #delete_webhook, #get_webhook, #list_webhook_deliveries, #list_webhooks, #ping_webhook, #test_webhook, #update_webhook

Methods included from Runners::Deployments

#create_deployment, #create_deployment_status, #delete_deployment, #get_deployment, #get_deployment_status, #list_deployment_statuses, #list_deployments

Methods included from Runners::Releases

#create_release, #delete_release, #delete_release_asset, #get_latest_release, #get_release, #get_release_by_tag, #list_release_assets, #list_releases, #update_release

Methods included from Runners::Checks

#create_check_run, #get_check_run, #get_check_suite, #list_check_run_annotations, #list_check_runs_for_ref, #list_check_suites_for_ref, #rerequest_check_suite, #update_check_run

Methods included from Runners::Actions

#cancel_workflow_run, #download_workflow_run_logs, #get_workflow, #get_workflow_run, #list_workflow_run_artifacts, #list_workflow_run_jobs, #list_workflow_runs, #list_workflows, #rerun_failed_jobs, #rerun_workflow, #trigger_workflow

Methods included from Runners::Contents

#commit_files, #get_file_content

Methods included from Helpers::Cache

#cache_connected?, #cache_invalidate, #cache_write, #cached_get, #github_ttl_for, #local_cache_connected?, #local_cache_delete, #local_cache_get, #local_cache_set

Methods included from Runners::Branches

#create_branch

Methods included from Runners::Comments

#create_comment, #delete_comment, #get_comment, #list_comments, #update_comment

Methods included from Runners::Labels

#add_labels_to_issue, #create_label, #delete_label, #get_label, #list_labels, #remove_label_from_issue, #update_label

Methods included from Runners::Commits

#compare_commits, #get_commit, #list_commits

Methods included from Runners::Search

#search_code, #search_issues, #search_repositories, #search_users

Methods included from Runners::Gists

#create_gist, #delete_gist, #get_gist, #list_gists, #update_gist

Methods included from Runners::Organizations

#get_org, #list_org_members, #list_org_repos, #list_user_orgs

Methods included from Runners::Users

#get_authenticated_user, #get_user, #list_followers, #list_following

Methods included from Runners::PullRequests

#create_pull_request, #create_review, #get_pull_request, #list_all_pull_request_files, #list_pull_request_commits, #list_pull_request_files, #list_pull_request_review_comments, #list_pull_request_reviews, #list_pull_requests, #mark_pr_ready, #merge_pull_request, #update_pull_request

Methods included from Runners::Issues

#create_issue, #create_issue_comment, #get_issue, #list_issue_comments, #list_issues, #update_issue

Methods included from Runners::Repositories

#create_repo, #delete_repo, #get_repo, #get_tree, #list_branches, #list_repos, #list_tags, #update_repo

Constructor Details

#initialize(token: nil, api_url: 'https://api.github.com', **extra) ⇒ Client

Returns a new instance of Client.



61
62
63
# File 'lib/legion/extensions/github/client.rb', line 61

def initialize(token: nil, api_url: 'https://api.github.com', **extra)
  @opts = { token: token, api_url: api_url, **extra }
end

Instance Attribute Details

#optsObject (readonly)

Returns the value of attribute opts.



59
60
61
# File 'lib/legion/extensions/github/client.rb', line 59

def opts
  @opts
end

Instance Method Details

#connection(**override) ⇒ Object



65
66
67
# File 'lib/legion/extensions/github/client.rb', line 65

def connection(**override)
  super(**@opts.merge(override))
end