io_daemonizer 6 → 7.1

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 +5 -7
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9221b86c37a20ab3d79c7fb1fee60e9a7c74aa083d3aff30da43e755c9a02256
4
- data.tar.gz: f0b41de14e06824a163ded73f2b70d45bc54c1c086ee8c2419b83af4d1ab3c58
3
+ metadata.gz: 659f573346f478e82593492d57366baa4f704cdad86495f71f9e14d3ab656e53
4
+ data.tar.gz: '028c6285884760b1a2fa0330844128c1f63a713bc6efa1b2e6775f4ae3dcd64d'
5
5
  SHA512:
6
- metadata.gz: cbcfd15d8a147dc074f4003e7d1a6f2ee17979644220abb54044b740c7023f0f51bab528c395b38b053efb685abac807c4648387b9aa5c1e3cad0d0e45f0ef5f
7
- data.tar.gz: 250baadd6ca2b943920408f431a66b5920f1655cfd44b4026f7c08409b23dcf9ad19972e2aae7f900e09268d4f9c472c33e80455a62ddf982e78751da9433f44
6
+ metadata.gz: ebb22484722226e4761a4a29176f9b62f95513f693653c93adc7deb815f491b5b5711579c8ba29cf2810bb9c16f3e8539201cc287607ac4cf4e73074b35e21fc
7
+ data.tar.gz: 3ee8bd1928ca173f3ccd5d9e10e47809bac6224f8e5d2eacece6aaf45d97328d5fcceae3201e3f7dbbe2d8df9059d5cf93dbd2401d117ae2223e224969a53d03
data/io_daemonizer.rb CHANGED
@@ -1,4 +1,4 @@
1
- # io_daemonizer v.6 https://github.com/joeyschoblaska/io_daemonizer
1
+ # io_daemonizer v.7.1 https://github.com/joeyschoblaska/io_daemonizer
2
2
 
3
3
  require "json"
4
4
  require "shellwords"
@@ -19,9 +19,7 @@ class IODaemonizer
19
19
  send_request(port: port, args: ARGV)
20
20
  rescue Errno::ECONNREFUSED => e
21
21
  raise(e) unless autostart
22
- daemon = Daemon.new(port: port, setup: setup, run: run)
23
- daemon.setup
24
- fork { daemon.start }
22
+ Daemon.run(port: port, setup: setup, run: run, fork: true)
25
23
  sleep 0.1
26
24
  send_request(port: port, args: ARGV)
27
25
  end
@@ -52,10 +50,10 @@ class IODaemonizer
52
50
  end
53
51
 
54
52
  class Daemon
55
- def self.run(port:, setup:, run:)
53
+ def self.run(port:, setup:, run:, fork: false)
56
54
  daemon = new(port: port, setup: setup, run: run)
57
55
  daemon.setup
58
- daemon.start
56
+ fork ? Kernel.fork { daemon.start } : daemon.start
59
57
  end
60
58
 
61
59
  def initialize(port:, setup:, run:)
@@ -125,7 +123,7 @@ class IODaemonizer
125
123
  def write(chunk)
126
124
  chunk.chars.each do |ch|
127
125
  @buffer << ch
128
- process_buffer
126
+ process_buffer if ch == "}"
129
127
  end
130
128
  end
131
129
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: io_daemonizer
3
3
  version: !ruby/object:Gem::Version
4
- version: '6'
4
+ version: '7.1'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joey Schoblaska
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-09-07 00:00:00.000000000 Z
11
+ date: 2022-09-08 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Wrap a Ruby script that speaks stdio in a daemon so that you only pay
14
14
  the startup overhead once.