Class: DataPlaneApi::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/data_plane_api/configuration.rb

Overview

Stores configuration options for the HAProxy Data Plane API.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(url: nil, global: false, basic_user: nil, basic_password: nil, logger: nil, timeout: nil, parent: nil) ⇒ Configuration

Returns a new instance of Configuration.

Parameters:

  • url (String, nil) (defaults to: nil)
  • global (Boolean) (defaults to: false)

    whether this object is used as a global store of settings

  • basic_user (String, nil) (defaults to: nil)

    Basic Auth username.

  • basic_password (String, nil) (defaults to: nil)

    Basic Auth password.

  • logger (Logger, nil) (defaults to: nil)
  • timeout (Integer, nil) (defaults to: nil)
  • parent (self, nil) (defaults to: nil)


29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/data_plane_api/configuration.rb', line 29

def initialize(
  url: nil,
  global: false,
  basic_user: nil,
  basic_password: nil,
  logger: nil,
  timeout: nil,
  parent: nil
)

  @global = global
  @url = url
  @basic_user = basic_user
  @basic_password = basic_password
  @logger = logger
  @timeout = timeout
  @parent = parent
  @connection = nil

  return unless global

  @logger ||= ::Logger.new($stdout)
  @timeout ||= 10
end

Instance Attribute Details

#basic_passwordString?

Returns Basic Auth password.

Returns:

  • (String, nil)

    Basic Auth password.



80
81
82
83
84
# File 'lib/data_plane_api/configuration.rb', line 80

def basic_password
  return @basic_password if @global || @basic_password

  parent.basic_password
end

#basic_userString?

Returns Basic Auth username.

Returns:

  • (String, nil)

    Basic Auth username.



73
74
75
76
77
# File 'lib/data_plane_api/configuration.rb', line 73

def basic_user
  return @basic_user if @global || @basic_user

  parent.basic_user
end

#globalBoolean (readonly)

Returns whether this object is used as a global store of settings.

Returns:

  • (Boolean)

    whether this object is used as a global store of settings



20
21
22
# File 'lib/data_plane_api/configuration.rb', line 20

def global
  @global
end

#loggerLogger?

Returns:

  • (Logger, nil)


87
88
89
90
91
# File 'lib/data_plane_api/configuration.rb', line 87

def logger
  return @logger if @global || @logger

  parent.logger
end

#timeoutInteger?

Returns:

  • (Integer, nil)


94
95
96
97
98
# File 'lib/data_plane_api/configuration.rb', line 94

def timeout
  return @timeout if @global || @timeout

  parent.timeout
end

#urlString, ...

Returns:

  • (String, URI::Generic, nil)


66
67
68
69
70
# File 'lib/data_plane_api/configuration.rb', line 66

def url
  return @url if @global || @url

  parent.url
end

Instance Method Details

#connectionFaraday::Connection

Returns:

  • (Faraday::Connection)


55
56
57
# File 'lib/data_plane_api/configuration.rb', line 55

def connection
  @connection || build_connection
end

#freezevoid

This method returns an undefined value.



60
61
62
63
# File 'lib/data_plane_api/configuration.rb', line 60

def freeze
  @connection = build_connection
  super
end

#parentself?

Returns:

  • (self, nil)


101
102
103
104
105
# File 'lib/data_plane_api/configuration.rb', line 101

def parent
  return if @global

  @parent || CONFIG
end