class CircleCi::Config

Config class used internally. Configure API calls using CircleCi.configure

Constants

DEFAULT_HOST
DEFAULT_PORT
DEFAULT_URI
DEFAULT_VERSION

Attributes

host[RW]
logger[RW]
port[RW]
proxy[RW]
proxy_host[RW]
proxy_pass[RW]
proxy_port[RW]
proxy_user[RW]
request_overrides[RW]
token[RW]
version[RW]

Public Class Methods

new(host: DEFAULT_HOST, port: DEFAULT_PORT, proxy: nil, version: DEFAULT_VERSION, token: nil, request_overrides: {}, logger: nil) click to toggle source

@private rubocop:disable Metrics/ParameterLists

# File lib/circleci/config.rb, line 21
def initialize(host: DEFAULT_HOST, port: DEFAULT_PORT, proxy: nil, version: DEFAULT_VERSION, token: nil, request_overrides: {}, logger: nil)
  @host = host
  @port = port
  @proxy = proxy.nil? ? false : proxy
  @version = version
  @token = token
  @request_overrides = request_overrides
  @logger = logger || Logger.new($stdout)
end

Public Instance Methods

proxy_to_port() click to toggle source
# File lib/circleci/config.rb, line 40
def proxy_to_port
  proxy_port || 80
end
proxy_uri() click to toggle source
# File lib/circleci/config.rb, line 44
def proxy_uri
  return unless @proxy && proxy_host

  host_uri = URI.parse(proxy_host)
  userinfo = proxy_userinfo? ? "#{proxy_user}:#{proxy_pass}@" : ''
  URI.parse("#{host_uri.scheme}://#{userinfo}#{host_uri.host}:#{proxy_to_port}#{host_uri.path}")
end
proxy_userinfo?() click to toggle source
# File lib/circleci/config.rb, line 36
def proxy_userinfo?
  proxy_user && proxy_pass
end
uri() click to toggle source

rubocop:enable Metrics/ParameterLists

# File lib/circleci/config.rb, line 32
def uri
  URI.parse("#{@host || DEFAULT_HOST}:#{@port || DEFAULT_PORT}/api/#{@version || DEFAULT_VERSION}")
end