io_daemonizer 4 → 5

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