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: 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