Class: HAProxy::Config

Inherits:
Object
  • Object
show all
Defined in:
lib/haproxy/config.rb

Overview

Represents an haproxy configuration file.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(parse_tree) ⇒ Config

Returns a new instance of Config.



40
41
42
43
44
45
46
47
# File 'lib/haproxy/config.rb', line 40

def initialize(parse_tree)
  self.original_parse_tree = parse_tree
  self.backends   = []
  self.listeners  = []
  self.frontends  = []
  self.defaults   = []
  self.global     = {}
end

Instance Attribute Details

#backendsObject

Returns the value of attribute backends.



38
39
40
# File 'lib/haproxy/config.rb', line 38

def backends
  @backends
end

#defaultsObject

Returns the value of attribute defaults.



38
39
40
# File 'lib/haproxy/config.rb', line 38

def defaults
  @defaults
end

#frontendsObject

Returns the value of attribute frontends.



38
39
40
# File 'lib/haproxy/config.rb', line 38

def frontends
  @frontends
end

#globalObject

Returns the value of attribute global.



38
39
40
# File 'lib/haproxy/config.rb', line 38

def global
  @global
end

#listenersObject

Returns the value of attribute listeners.



38
39
40
# File 'lib/haproxy/config.rb', line 38

def listeners
  @listeners
end

#original_parse_treeObject

Returns the value of attribute original_parse_tree.



38
39
40
# File 'lib/haproxy/config.rb', line 38

def original_parse_tree
  @original_parse_tree
end

Class Method Details

.parse_file(filename) ⇒ Object



73
74
75
# File 'lib/haproxy/config.rb', line 73

def parse_file(filename)
  HAProxy::Parser.new.parse_file(filename)
end

Instance Method Details

#backend(name) ⇒ Object



53
54
55
# File 'lib/haproxy/config.rb', line 53

def backend(name)
  backends.find { |b| b.name == name }
end

#default(name = nil) ⇒ Object



61
62
63
# File 'lib/haproxy/config.rb', line 61

def default(name = nil)
  defaults.find { |d| d.name == name }
end

#frontend(name) ⇒ Object



57
58
59
# File 'lib/haproxy/config.rb', line 57

def frontend(name)
  frontends.find { |f| f.name == name }
end

#listener(name) ⇒ Object



49
50
51
# File 'lib/haproxy/config.rb', line 49

def listener(name)
  listeners.find { |l| l.name == name }
end

#renderObject



65
66
67
68
# File 'lib/haproxy/config.rb', line 65

def render
  renderer = HAProxy::Renderer.new(self, original_parse_tree)
  renderer.render
end