haproxy_parser 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
|