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: f21b5d261746dc87275043fc0d1161a32ca5c947
4
- data.tar.gz: 3dca2c8155d0d10d3c6f246e1d6a81440053d04e
3
+ metadata.gz: 21df2cb022a83a269336d4a89bab93531a252cfd
4
+ data.tar.gz: cd278c84cb1fc62634117e65539339f6af63a46c
5
5
  SHA512:
6
- metadata.gz: d53448cf165285d52b87c60d8542c967fc6707df48422d81fbb3d9bdf22ce12d7196767cc2800a237d6b07b144f890d8cf56ea38d3da67cdfe781847a0feb6a1
7
- data.tar.gz: 937e139994172a5cba32c2470fa0b4751760373d0585313d2f01f9ce3b122fff218c21e505787f3ccc741acdbda715ccafc2b0b583733f3d22a3e3c41671dcc0
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, :frontend_port
8
- def initialize(line:, frontend_port:)
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
@@ -1,3 +1,3 @@
1
1
  module HaproxyParser
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  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.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-20 00:00:00.000000000 Z
11
+ date: 2016-10-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler