Module: Octokit::Configurable

Included in:
Octokit, Client, EnterpriseAdminClient, EnterpriseManagementConsoleClient, ManageGHESClient
Defined in:
lib/octokit/configurable.rb

Overview

Configuration options for Client, defaulting to values in Default

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#access_tokenObject

Returns the value of attribute access_token.



63
64
65
# File 'lib/octokit/configurable.rb', line 63

def access_token
  @access_token
end

#api_endpointString

Returns Base URL for API requests. default: https://api.github.com/.

Returns:



63
64
65
66
# File 'lib/octokit/configurable.rb', line 63

attr_accessor :access_token, :auto_paginate, :bearer_token, :client_id,
:client_secret, :default_media_type, :connection_options,
:middleware, :netrc, :netrc_file,
:per_page, :proxy, :ssl_verify_mode, :user_agent

#auto_paginateBoolean

Returns Auto fetch next page of results until rate limit reached.

Returns:

  • (Boolean)

    Auto fetch next page of results until rate limit reached



63
64
65
66
# File 'lib/octokit/configurable.rb', line 63

attr_accessor :access_token, :auto_paginate, :bearer_token, :client_id,
:client_secret, :default_media_type, :connection_options,
:middleware, :netrc, :netrc_file,
:per_page, :proxy, :ssl_verify_mode, :user_agent

#bearer_tokenObject

Returns the value of attribute bearer_token.



63
64
65
# File 'lib/octokit/configurable.rb', line 63

def bearer_token
  @bearer_token
end

#client_idString

Returns Configure OAuth app key.

Returns:

  • (String)

    Configure OAuth app key

See Also:



63
64
65
66
# File 'lib/octokit/configurable.rb', line 63

attr_accessor :access_token, :auto_paginate, :bearer_token, :client_id,
:client_secret, :default_media_type, :connection_options,
:middleware, :netrc, :netrc_file,
:per_page, :proxy, :ssl_verify_mode, :user_agent

#client_secretObject

Returns the value of attribute client_secret.



63
64
65
# File 'lib/octokit/configurable.rb', line 63

def client_secret
  @client_secret
end

#connection_optionsHash

Returns Configure connection options for Faraday.

Returns:

  • (Hash)

    Configure connection options for Faraday

See Also:



63
64
65
66
# File 'lib/octokit/configurable.rb', line 63

attr_accessor :access_token, :auto_paginate, :bearer_token, :client_id,
:client_secret, :default_media_type, :connection_options,
:middleware, :netrc, :netrc_file,
:per_page, :proxy, :ssl_verify_mode, :user_agent

#default_media_typeString

Returns Configure preferred media type (for API versioning, for example).

Returns:

  • (String)

    Configure preferred media type (for API versioning, for example)

See Also:



63
64
65
66
# File 'lib/octokit/configurable.rb', line 63

attr_accessor :access_token, :auto_paginate, :bearer_token, :client_id,
:client_secret, :default_media_type, :connection_options,
:middleware, :netrc, :netrc_file,
:per_page, :proxy, :ssl_verify_mode, :user_agent

#loginString

Returns GitHub username for Basic Authentication.

Returns:

  • (String)

    GitHub username for Basic Authentication



63
64
65
66
# File 'lib/octokit/configurable.rb', line 63

attr_accessor :access_token, :auto_paginate, :bearer_token, :client_id,
:client_secret, :default_media_type, :connection_options,
:middleware, :netrc, :netrc_file,
:per_page, :proxy, :ssl_verify_mode, :user_agent

#manage_ghes_endpointString

Returns Base URL for API requests to the GitHub Enterprise Server Manage API.

Returns:

  • (String)

    Base URL for API requests to the GitHub Enterprise Server Manage API



63
64
65
66
# File 'lib/octokit/configurable.rb', line 63

attr_accessor :access_token, :auto_paginate, :bearer_token, :client_id,
:client_secret, :default_media_type, :connection_options,
:middleware, :netrc, :netrc_file,
:per_page, :proxy, :ssl_verify_mode, :user_agent

#manage_ghes_passwordString

Returns API user password for requests to the GitHub Enterprise Server Manage API.

Returns:

  • (String)

    API user password for requests to the GitHub Enterprise Server Manage API



63
64
65
66
# File 'lib/octokit/configurable.rb', line 63

attr_accessor :access_token, :auto_paginate, :bearer_token, :client_id,
:client_secret, :default_media_type, :connection_options,
:middleware, :netrc, :netrc_file,
:per_page, :proxy, :ssl_verify_mode, :user_agent

#manage_ghes_usernameString

Returns API username for requests to the GitHub Enterprise Server Manage API.

Returns:

  • (String)

    API username for requests to the GitHub Enterprise Server Manage API



63
64
65
66
# File 'lib/octokit/configurable.rb', line 63

attr_accessor :access_token, :auto_paginate, :bearer_token, :client_id,
:client_secret, :default_media_type, :connection_options,
:middleware, :netrc, :netrc_file,
:per_page, :proxy, :ssl_verify_mode, :user_agent

#management_console_endpointString

Returns Base URL for API requests to the GitHub Enterprise management console.

Returns:

  • (String)

    Base URL for API requests to the GitHub Enterprise management console



63
64
65
66
# File 'lib/octokit/configurable.rb', line 63

attr_accessor :access_token, :auto_paginate, :bearer_token, :client_id,
:client_secret, :default_media_type, :connection_options,
:middleware, :netrc, :netrc_file,
:per_page, :proxy, :ssl_verify_mode, :user_agent

#management_console_passwordString

Returns An admin password set up for your GitHub Enterprise management console.

Returns:

  • (String)

    An admin password set up for your GitHub Enterprise management console



63
64
65
66
# File 'lib/octokit/configurable.rb', line 63

attr_accessor :access_token, :auto_paginate, :bearer_token, :client_id,
:client_secret, :default_media_type, :connection_options,
:middleware, :netrc, :netrc_file,
:per_page, :proxy, :ssl_verify_mode, :user_agent

#middlewareFaraday::Builder or Faraday::RackBuilder

Returns Configure middleware for Faraday.

Returns:

  • (Faraday::Builder or Faraday::RackBuilder)

    Configure middleware for Faraday

See Also:



63
64
65
66
# File 'lib/octokit/configurable.rb', line 63

attr_accessor :access_token, :auto_paginate, :bearer_token, :client_id,
:client_secret, :default_media_type, :connection_options,
:middleware, :netrc, :netrc_file,
:per_page, :proxy, :ssl_verify_mode, :user_agent

#netrcBoolean

Returns Instruct Octokit to get credentials from .netrc file.

Returns:

  • (Boolean)

    Instruct Octokit to get credentials from .netrc file



63
64
65
66
# File 'lib/octokit/configurable.rb', line 63

attr_accessor :access_token, :auto_paginate, :bearer_token, :client_id,
:client_secret, :default_media_type, :connection_options,
:middleware, :netrc, :netrc_file,
:per_page, :proxy, :ssl_verify_mode, :user_agent

#netrc_fileString

Returns Path to .netrc file. default: ~/.netrc.

Returns:

  • (String)

    Path to .netrc file. default: ~/.netrc



63
64
65
66
# File 'lib/octokit/configurable.rb', line 63

attr_accessor :access_token, :auto_paginate, :bearer_token, :client_id,
:client_secret, :default_media_type, :connection_options,
:middleware, :netrc, :netrc_file,
:per_page, :proxy, :ssl_verify_mode, :user_agent

#password=(value) ⇒ String (writeonly)

Returns GitHub password for Basic Authentication.

Returns:

  • (String)

    GitHub password for Basic Authentication



63
64
65
66
# File 'lib/octokit/configurable.rb', line 63

attr_accessor :access_token, :auto_paginate, :bearer_token, :client_id,
:client_secret, :default_media_type, :connection_options,
:middleware, :netrc, :netrc_file,
:per_page, :proxy, :ssl_verify_mode, :user_agent

#per_pageString

Returns Configure page size for paginated results. API default: 30.

Returns:

  • (String)

    Configure page size for paginated results. API default: 30



63
64
65
66
# File 'lib/octokit/configurable.rb', line 63

attr_accessor :access_token, :auto_paginate, :bearer_token, :client_id,
:client_secret, :default_media_type, :connection_options,
:middleware, :netrc, :netrc_file,
:per_page, :proxy, :ssl_verify_mode, :user_agent

#proxyString

Returns URI for proxy server.

Returns:

  • (String)

    URI for proxy server

See Also:



63
64
65
66
# File 'lib/octokit/configurable.rb', line 63

attr_accessor :access_token, :auto_paginate, :bearer_token, :client_id,
:client_secret, :default_media_type, :connection_options,
:middleware, :netrc, :netrc_file,
:per_page, :proxy, :ssl_verify_mode, :user_agent

#ssl_verify_modeString

Returns SSL verify mode for ssl connections.

Returns:

  • (String)

    SSL verify mode for ssl connections

See Also:



63
64
65
66
# File 'lib/octokit/configurable.rb', line 63

attr_accessor :access_token, :auto_paginate, :bearer_token, :client_id,
:client_secret, :default_media_type, :connection_options,
:middleware, :netrc, :netrc_file,
:per_page, :proxy, :ssl_verify_mode, :user_agent

#user_agentString

Returns Configure User-Agent header for requests.

Returns:

  • (String)

    Configure User-Agent header for requests.



63
64
65
66
# File 'lib/octokit/configurable.rb', line 63

attr_accessor :access_token, :auto_paginate, :bearer_token, :client_id,
:client_secret, :default_media_type, :connection_options,
:middleware, :netrc, :netrc_file,
:per_page, :proxy, :ssl_verify_mode, :user_agent

#web_endpointString

Base URL for generated web URLs

Returns:



63
64
65
66
# File 'lib/octokit/configurable.rb', line 63

attr_accessor :access_token, :auto_paginate, :bearer_token, :client_id,
:client_secret, :default_media_type, :connection_options,
:middleware, :netrc, :netrc_file,
:per_page, :proxy, :ssl_verify_mode, :user_agent

Class Method Details

.keysArray

List of configurable keys for Octokit::Client

Returns:

  • (Array)

    of option keys



76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# File 'lib/octokit/configurable.rb', line 76

def keys
  @keys ||= %i[
    access_token
    api_endpoint
    auto_paginate
    bearer_token
    client_id
    client_secret
    connection_options
    default_media_type
    login
    management_console_endpoint
    management_console_password
    manage_ghes_endpoint
    manage_ghes_username
    manage_ghes_password
    middleware
    netrc
    netrc_file
    per_page
    password
    proxy
    ssl_verify_mode
    user_agent
    web_endpoint
  ]
end

Instance Method Details

#configure {|_self| ... } ⇒ Object

Set configuration options using a block

Yields:

  • (_self)

Yield Parameters:



106
107
108
# File 'lib/octokit/configurable.rb', line 106

def configure
  yield self
end

#netrc?Boolean

Returns:

  • (Boolean)


156
157
158
# File 'lib/octokit/configurable.rb', line 156

def netrc?
  !!@netrc
end

#reset!Object Also known as: setup

Reset configuration options to default values



111
112
113
114
115
116
117
118
119
120
121
122
# File 'lib/octokit/configurable.rb', line 111

def reset!
  # rubocop:disable Style/HashEachMethods
  #
  # This may look like a `.keys.each` which should be replaced with `#each_key`, but
  # this doesn't actually work, since `#keys` is just a method we've defined ourselves.
  # The class doesn't fulfill the whole `Enumerable` contract.
  Octokit::Configurable.keys.each do |key|
    # rubocop:enable Style/HashEachMethods
    instance_variable_set(:"@#{key}", Octokit::Default.options[key])
  end
  self
end

#same_options?(opts) ⇒ Boolean

Compares client options to a Hash of requested options

Parameters:

  • opts (Hash)

    Options to compare with current client options

Returns:

  • (Boolean)


129
130
131
# File 'lib/octokit/configurable.rb', line 129

def same_options?(opts)
  opts.hash == options.hash
end