io_daemonizer 6 → 7.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.
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.