Class: Legion::Extensions::Github::Client
- Inherits:
-
Object
- Object
- Legion::Extensions::Github::Client
- Includes:
- App::Runners::Auth, App::Runners::CredentialStore, App::Runners::Installations, App::Runners::Manifest, App::Runners::Webhooks, Helpers::Cache, Helpers::Client, OAuth::Runners::Auth, Runners::Actions, Runners::Branches, Runners::Checks, Runners::Comments, Runners::Commits, Runners::Contents, Runners::Deployments, Runners::Gists, Runners::Issues, Runners::Labels, Runners::Organizations, Runners::PullRequests, Runners::Releases, Runners::Repositories, Runners::RepositoryWebhooks, Runners::Search, Runners::Users
- Defined in:
- lib/legion/extensions/github/client.rb
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
-
#opts ⇒ Object
readonly
Returns the value of attribute opts.
Instance Method Summary collapse
- #connection(**override) ⇒ Object
-
#initialize(token: nil, api_url: 'https://api.github.com', **extra) ⇒ Client
constructor
A new instance of Client.
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
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
#opts ⇒ Object (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 |