haproxy_parser 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 21df2cb022a83a269336d4a89bab93531a252cfd
|
4
|
+
data.tar.gz: cd278c84cb1fc62634117e65539339f6af63a46c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bc537129dc7e3c0294a3938838e8c9ebd897be8bc193c5328834d5fbf05b03f2ebf7c140af9b827ce3ef001bb1c6a2ef1b794c6040500e0380d4bdfb9c9e489c
|
7
|
+
data.tar.gz: 7c13c6a4c64a5b0810d8149abf4985da50e52020c41dcb9c9080208175b0baa4ac2ca515cf2752038fa2f00e698add47fdc696f3ea0e98dbed46c460cbc05d65
|
@@ -4,12 +4,6 @@ require "haproxy_parser/builders/server_parser"
|
|
4
4
|
module HaproxyParser
|
5
5
|
module Builders
|
6
6
|
class Backend < Base
|
7
|
-
attr_accessor :frontend
|
8
|
-
def initialize(section:, default: nil, frontend:)
|
9
|
-
super(section: section, default: default)
|
10
|
-
@frontend = frontend
|
11
|
-
end
|
12
|
-
|
13
7
|
def mode
|
14
8
|
@mode ||= dig_data("mode")
|
15
9
|
end
|
@@ -23,14 +17,12 @@ module HaproxyParser
|
|
23
17
|
if line_servers[0].is_a?(Array)
|
24
18
|
line_servers.each do |line_server|
|
25
19
|
arr << ServerParser.new(
|
26
|
-
line: line_server
|
27
|
-
frontend_port: frontend.port
|
20
|
+
line: line_server
|
28
21
|
)
|
29
22
|
end
|
30
23
|
else
|
31
24
|
arr << ServerParser.new(
|
32
|
-
line: line_servers
|
33
|
-
frontend_port: frontend.port
|
25
|
+
line: line_servers
|
34
26
|
)
|
35
27
|
end
|
36
28
|
end
|
@@ -4,10 +4,9 @@ require "haproxy_parser/line_parser"
|
|
4
4
|
module HaproxyParser
|
5
5
|
module Builders
|
6
6
|
class ServerParser
|
7
|
-
attr_reader :line
|
8
|
-
def initialize(line
|
7
|
+
attr_reader :line
|
8
|
+
def initialize(line:)
|
9
9
|
@line = line
|
10
|
-
@frontend_port = frontend_port
|
11
10
|
end
|
12
11
|
|
13
12
|
def name
|
@@ -19,12 +18,7 @@ module HaproxyParser
|
|
19
18
|
end
|
20
19
|
|
21
20
|
def port
|
22
|
-
@port ||=
|
23
|
-
if line[1].split(":")[1]
|
24
|
-
line[1].split(":")[1]
|
25
|
-
else
|
26
|
-
frontend_port
|
27
|
-
end
|
21
|
+
@port ||= line[1].split(":")[1]
|
28
22
|
end
|
29
23
|
|
30
24
|
%w(inter rise fall).each do |attr|
|
@@ -6,7 +6,7 @@ require "haproxy_parser/builders"
|
|
6
6
|
module HaproxyParser
|
7
7
|
class Config
|
8
8
|
SECTIONS = %w(global defaults frontend backend)
|
9
|
-
attr_reader :path
|
9
|
+
attr_reader :path, :servers
|
10
10
|
def initialize(path)
|
11
11
|
@path = path
|
12
12
|
end
|
@@ -40,6 +40,7 @@ module HaproxyParser
|
|
40
40
|
def build
|
41
41
|
build_global
|
42
42
|
build_frontend_backend
|
43
|
+
build_servers
|
43
44
|
end
|
44
45
|
|
45
46
|
def build_global
|
@@ -60,13 +61,21 @@ module HaproxyParser
|
|
60
61
|
end
|
61
62
|
end
|
62
63
|
|
64
|
+
def build_servers
|
65
|
+
@servers = [].tap do |arr|
|
66
|
+
backends.each do |backend|
|
67
|
+
arr += backend.servers
|
68
|
+
end
|
69
|
+
break arr
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
63
73
|
def build_backend(frontend)
|
64
74
|
name = frontend.backend_name
|
65
75
|
return find_backend(name) if find_backend(name).present?
|
66
76
|
built_backend = HaproxyParser::Builders::Backend.new(
|
67
77
|
section: backend_section(name).items,
|
68
|
-
default: default_section_items
|
69
|
-
frontend: frontend
|
78
|
+
default: default_section_items
|
70
79
|
).tap do |backend|
|
71
80
|
backends << backend
|
72
81
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: haproxy_parser
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Akito Ueno
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-10-
|
11
|
+
date: 2016-10-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|