sanford 0.11.0 → 0.11.1
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.
- data/lib/sanford/process.rb +13 -6
- data/lib/sanford/server.rb +8 -0
- data/lib/sanford/version.rb +1 -1
- data/test/unit/process_tests.rb +9 -6
- data/test/unit/server_tests.rb +4 -0
- metadata +3 -3
data/lib/sanford/process.rb
CHANGED
@@ -11,15 +11,18 @@ module Sanford
|
|
11
11
|
options ||= {}
|
12
12
|
@server = server
|
13
13
|
@logger = @server.logger
|
14
|
-
@name = "sanford-#{@server.name}"
|
15
14
|
@pid_file = PIDFile.new(@server.pid_file)
|
16
15
|
@restart_cmd = RestartCmd.new
|
17
16
|
|
18
|
-
@server_ip =
|
19
|
-
@server_port =
|
17
|
+
@server_ip = default_if_blank(ENV['SANFORD_IP'], @server.configured_ip)
|
18
|
+
@server_port = default_if_blank(
|
19
|
+
ENV['SANFORD_PORT'],
|
20
|
+
@server.configured_port
|
21
|
+
){ |v| v.to_i }
|
20
22
|
@server_fd = ignore_if_blank(ENV['SANFORD_SERVER_FD']){ |v| v.to_i }
|
21
23
|
@listen_args = @server_fd ? [ @server_fd ] : [ @server_ip, @server_port ]
|
22
|
-
|
24
|
+
|
25
|
+
@name = "sanford-#{@server.name}-#{@server_ip}-#{@server_port}"
|
23
26
|
|
24
27
|
@client_fds = (ENV['SANFORD_CLIENT_FDS'] || "").split(',').map(&:to_i)
|
25
28
|
|
@@ -71,9 +74,13 @@ module Sanford
|
|
71
74
|
@restart_cmd.exec
|
72
75
|
end
|
73
76
|
|
74
|
-
def
|
77
|
+
def default_if_blank(value, default, &block)
|
78
|
+
ignore_if_blank(value, &block) || default
|
79
|
+
end
|
80
|
+
|
81
|
+
def ignore_if_blank(value, &block)
|
75
82
|
block ||= proc{ |v| v }
|
76
|
-
value && !value.empty?
|
83
|
+
block.call(value) if value && !value.empty?
|
77
84
|
end
|
78
85
|
|
79
86
|
end
|
data/lib/sanford/server.rb
CHANGED
data/lib/sanford/version.rb
CHANGED
data/test/unit/process_tests.rb
CHANGED
@@ -59,14 +59,16 @@ class Sanford::Process
|
|
59
59
|
end
|
60
60
|
|
61
61
|
should "know its name, pid file and restart cmd" do
|
62
|
-
|
62
|
+
expected = "sanford-#{@server_spy.name}-" \
|
63
|
+
"#{@server_spy.configured_ip}-#{@server_spy.configured_port}"
|
64
|
+
assert_equal expected, subject.name
|
63
65
|
assert_equal @pid_file_spy, subject.pid_file
|
64
66
|
assert_equal @restart_cmd_spy, subject.restart_cmd
|
65
67
|
end
|
66
68
|
|
67
69
|
should "know its server ip, port and file descriptor" do
|
68
|
-
|
69
|
-
|
70
|
+
assert_equal @server_spy.configured_ip, subject.server_ip
|
71
|
+
assert_equal @server_spy.configured_port, subject.server_port
|
70
72
|
assert_nil subject.server_fd
|
71
73
|
end
|
72
74
|
|
@@ -85,8 +87,8 @@ class Sanford::Process
|
|
85
87
|
ENV['SANFORD_PORT'] = ''
|
86
88
|
ENV['SANFORD_SERVER_FD'] = ''
|
87
89
|
process = @process_class.new(@server_spy)
|
88
|
-
|
89
|
-
|
90
|
+
assert_equal @server_spy.configured_ip, subject.server_ip
|
91
|
+
assert_equal @server_spy.configured_port, subject.server_port
|
90
92
|
assert_nil process.server_fd
|
91
93
|
end
|
92
94
|
|
@@ -173,7 +175,8 @@ class Sanford::Process
|
|
173
175
|
|
174
176
|
should "have started the server listening" do
|
175
177
|
assert_true @server_spy.listen_called
|
176
|
-
|
178
|
+
expected = [ subject.server_ip, subject.server_port ]
|
179
|
+
assert_equal expected, @server_spy.listen_args
|
177
180
|
end
|
178
181
|
|
179
182
|
should "have set the process name" do
|
data/test/unit/server_tests.rb
CHANGED
@@ -157,6 +157,8 @@ module Sanford::Server
|
|
157
157
|
should have_readers :server_data, :dat_tcp_server
|
158
158
|
should have_imeths :name, :ip, :port
|
159
159
|
should have_imeths :file_descriptor, :client_file_descriptors
|
160
|
+
should have_imeths :configured_ip, :configured_port
|
161
|
+
should have_imeths :pid_file, :logger
|
160
162
|
should have_imeths :listen, :start, :pause, :stop, :halt
|
161
163
|
should have_imeths :paused?
|
162
164
|
|
@@ -186,6 +188,8 @@ module Sanford::Server
|
|
186
188
|
|
187
189
|
should "know its name, pid file and logger" do
|
188
190
|
assert_equal subject.server_data.name, subject.name
|
191
|
+
assert_equal subject.server_data.ip, subject.configured_ip
|
192
|
+
assert_equal subject.server_data.port, subject.configured_port
|
189
193
|
assert_equal subject.server_data.pid_file, subject.pid_file
|
190
194
|
assert_equal subject.server_data.logger, subject.logger
|
191
195
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sanford
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 49
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 11
|
9
|
-
-
|
10
|
-
version: 0.11.
|
9
|
+
- 1
|
10
|
+
version: 0.11.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Collin Redding
|