io_daemonizer 4 → 5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/io_daemonizer.rb +12 -3
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 32930632de1bc82574c36effe2665f42e3759f1260142d185dad0deed19f3ded
4
- data.tar.gz: e86887bcd129dc4997febb337779420a5bcd644e17489b6e395a90c19fa91b69
3
+ metadata.gz: 80b48adc5074a3057dd995bd6111fffcaecaf14436d94aa781c822eef10fd95b
4
+ data.tar.gz: 1f816e2e331f8132844a4fcc1a8da7731d4d08d70165f89ac34c3f985a969466
5
5
  SHA512:
6
- metadata.gz: 0d45b854ab37c9dfc7bc06ae83ced4c1ef2b82b59fb94f0d5ba8bf5042e96732b5afc9514e982242faf9bcc72ff18bf2b1fc2d695ed83cf39f5986186dbdb1b2
7
- data.tar.gz: 38ad97f6c54e41d057a4d6c0dacb41420b273d8549560fe75da9cf87e443acb513ca0c12044ef260f4d6e9a5dfbe11ed9609620589298b1aff23adcfcd660e1d
6
+ metadata.gz: f531743fc395f854ed431ee7e2f283a206995df75367fe5fe871d8d7d1e238a482b0baf0ea132c8b384055377169870122e443c2840f51b2da092d25c2472dd2
7
+ data.tar.gz: fe64289f1d5b86e12f52c157e46cb1d8e5d93ac9f95be18aa46e51f34a81f4a42f77a7ca0d193dc22fca2b0636f4f10349e342a97e6f3c0dd36d783ac1f2ee7b
data/io_daemonizer.rb CHANGED
@@ -1,11 +1,11 @@
1
- # io_daemonizer v.4 https://github.com/joeyschoblaska/io_daemonizer
1
+ # io_daemonizer v.5 https://github.com/joeyschoblaska/io_daemonizer
2
2
 
3
3
  require "shellwords"
4
4
  require "socket"
5
5
  require "stringio"
6
6
 
7
7
  class IODaemonizer
8
- def self.wrap(port:, setup:, run:)
8
+ def self.wrap(port:, setup:, run:, autostart: true)
9
9
  case ARGV[0]
10
10
  when "start"
11
11
  puts "starting server..."
@@ -14,7 +14,16 @@ class IODaemonizer
14
14
  puts "stopping server..."
15
15
  send_request(port: port, args: ARGV)
16
16
  else
17
- send_request(port: port, args: ARGV)
17
+ begin
18
+ send_request(port: port, args: ARGV)
19
+ rescue Errno::ECONNREFUSED => e
20
+ raise(e) unless autostart
21
+ daemon = Daemon.new(port: port, setup: setup, run: run)
22
+ daemon.setup
23
+ fork { daemon.start }
24
+ sleep 0.1
25
+ send_request(port: port, args: ARGV)
26
+ end
18
27
  end
19
28
  rescue Errno::ECONNREFUSED
20
29
  puts "server not running or not responding"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: io_daemonizer
3
3
  version: !ruby/object:Gem::Version
4
- version: '4'
4
+ version: '5'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joey Schoblaska