daemonite 0.6.0 → 0.7.0

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 (5) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +26 -0
  3. data/daemonite.gemspec +1 -1
  4. data/lib/daemonite.rb +15 -1
  5. metadata +6 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fd02605e10df3a5a47877ab9a0c1212eb565a7606cdcdee6b2339cfd628bacf8
4
- data.tar.gz: a89cd8b6da35b87c7ac679b607bc4ae8886546402218bcbe9367d7281ffff4e8
3
+ metadata.gz: 567ade4dfc4fe9ee3f3197da49396f24543ea63a36081b2eecd18df005d710c4
4
+ data.tar.gz: '082c6e0d745c63153107b4010165fdd233f73aadb39a4a3b5fd467f0f1aea109'
5
5
  SHA512:
6
- metadata.gz: f31aa4941704d843513bec86f6e4cd6049b95c853c9c65fe7b80d6ede6148be45b069fadb06ffe8be3f77f93d483bdc8da648a9f5ac980e44a525bcb78c7a76b
7
- data.tar.gz: 17f2e8d7561787f8f2ed6ecfa95d62d3af8a4eb5e29a000413fb48ca53ce7d4bb7b45921d788c713c6ab65a23594e3bb62034b2204e2a05da7098ac0e283d664
6
+ metadata.gz: 1260f526ba7d52c9bad716bbe624f609565b57b107857d67c4b08a220ccc3bc3caefd1590e3301082fea5bba92561940949e9a98f20e03197c42c372ffb1d679
7
+ data.tar.gz: ab1537ca34893bce3db176ec70189000ad23d8755912948857612e509ed2330c438f563e269de8f34555f62d39556bb3695b5d5baee8ff9337c529648b74b930
data/README.md CHANGED
@@ -50,6 +50,32 @@ Daemonite.new(opts)
50
50
  Also be aware that a json configuration file $PROGRAM_NAME.sub /\.rb$/, '.conf'
51
51
  is automatically read, if it exists.
52
52
 
53
+ ## Usage - Sinatra
54
+
55
+ Give PID file + daemon start, stop, restart, info functionality to sinatra. Stack overflow overflows with questions about it :-)
56
+
57
+ ```ruby
58
+ require 'sinatra/base'
59
+ require 'daemonite'
60
+
61
+ Daemonite.new do |opts|
62
+ on startup do
63
+ opts[:sin] = Sinatra.new do
64
+ set :port, 9327
65
+ Encoding.default_external = "UTF-8"
66
+
67
+ get '/' do
68
+ 'Hello world!'
69
+ end
70
+ end
71
+ end
72
+
73
+ run do
74
+ opts[:sin].run!
75
+ end
76
+ end.go!
77
+ ```
78
+
53
79
  ## Usage - Alternative
54
80
 
55
81
  ```ruby
data/daemonite.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "daemonite"
3
- s.version = "0.6.0"
3
+ s.version = "0.7.0"
4
4
  s.platform = Gem::Platform::RUBY
5
5
  s.license = "LGPL-3.0"
6
6
  s.summary = "Daemonite - Process.daemon and argparse wrapper for loopies."
data/lib/daemonite.rb CHANGED
@@ -39,7 +39,8 @@ module Daemonism
39
39
 
40
40
  def daemonism(opts={},&block)
41
41
  @at_exit = nil
42
- @at_start = nil
42
+ @at_startup = nil
43
+ @at_setup = nil
43
44
 
44
45
  if File.exists?(opts[:basepath] + '/' + opts[:conffile])
45
46
  opts.merge!(Psych::load_file(opts[:basepath] + '/' + opts[:conffile]))
@@ -50,6 +51,7 @@ module Daemonism
50
51
  opts[:block] = nil
51
52
  instance_exec(opts,&block) if block_given?
52
53
 
54
+
53
55
  ########################################################################################################################
54
56
  # parse arguments
55
57
  ########################################################################################################################
@@ -84,6 +86,11 @@ module Daemonism
84
86
  ########################################################################################################################
85
87
  opts[:runtime_proc].call(opts) unless opts[:runtime_proc].nil?
86
88
 
89
+ ########################################################################################################################
90
+ # call this if you want to change important things such as pidfile after parsing (but before any formal start)
91
+ ########################################################################################################################
92
+ @at_setup.call(opts) if @at_setup
93
+
87
94
  ########################################################################################################################
88
95
  # status and info
89
96
  ########################################################################################################################
@@ -176,22 +183,29 @@ module Daemonism
176
183
  @at_exit = blk
177
184
  when :startup
178
185
  @at_startup = blk
186
+ when :setup
187
+ @at_setup = blk
179
188
  end
180
189
  end
181
190
  def exit; :exit; end
182
191
  def startup; :startup; end
192
+ def setup; :setup; end
183
193
  def on_exit(&blk)
184
194
  on :exit, &blk
185
195
  end
186
196
  def on_startup(&blk)
187
197
  on :startup, &blk
188
198
  end
199
+ def on_setup(&blk)
200
+ on :setup, &blk
201
+ end
189
202
  def use(blk)
190
203
  instance_eval(&blk)
191
204
  end
192
205
  alias_method :at, :on
193
206
  alias_method :at_exit, :on_exit
194
207
  alias_method :at_startup, :on_startup
208
+ alias_method :at_setup, :on_setup
195
209
  end
196
210
 
197
211
  class Daemonite
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: daemonite
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juergen eTM Mangler
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-10-03 00:00:00.000000000 Z
11
+ date: 2023-03-02 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Daemonite - Process.daemon and argparse wrapper for loopies.
14
14
  email: juergen.mangler@gmail.com
@@ -29,7 +29,7 @@ homepage: https://github.com/etm/daemonite.rb
29
29
  licenses:
30
30
  - LGPL-3.0
31
31
  metadata: {}
32
- post_install_message:
32
+ post_install_message:
33
33
  rdoc_options: []
34
34
  require_paths:
35
35
  - lib
@@ -44,8 +44,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
44
44
  - !ruby/object:Gem::Version
45
45
  version: '0'
46
46
  requirements: []
47
- rubygems_version: 3.1.2
48
- signing_key:
47
+ rubygems_version: 3.3.26
48
+ signing_key:
49
49
  specification_version: 4
50
50
  summary: Daemonite - Process.daemon and argparse wrapper for loopies.
51
51
  test_files: []