kajiki 1.0.2 → 1.1.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6c2942d81bed01b0bcb60963889ac3808e953f21
4
- data.tar.gz: 569978e43e6583e2f1122ce0188d71d059fb8db9
3
+ metadata.gz: aaa2f8a589d38633e1127cb46791ba33aa1ed969
4
+ data.tar.gz: 948f55323c048071fbb1b6f65604b5a91c8df1b1
5
5
  SHA512:
6
- metadata.gz: 3d180d80edf52c80d7630bc5849618260f4c96cedf415991bc6d735212c9e0c6692149f9f5f584d67a1a55131ee2d51f0a545710bd2d61e994fc27552a3e2b0a
7
- data.tar.gz: 6ce41aaed1ca9d574149c58ee55c3a3bfc0ab3ceddaecbcee8a048bff51c84df447a7826e9bb5d953e101f701c36556d21ed54978970308f05ddaf12bc64f662
6
+ metadata.gz: c4e7b1a1277af35a352a9f98e1a6f1f1d8d7f3a652696fbb679769effc76351dfba142704cd54db9a354930a6ecdd2c6fe14d5a29d1ccc4012e1bd43c2bb7563
7
+ data.tar.gz: a6b20639d643df6cb828e2c2b9d33337a02239bb01c1708a7ddc3ea4618b0f9d42ef582181aa824a6eff68f72eb774786e290eb846fec6be4745d90f3f4bcdda
data/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # Kajiki
2
2
 
3
+ [![Gem Version](https://badge.fury.io/rb/kajiki.svg)](http://badge.fury.io/rb/kajiki)
4
+
3
5
  A simple gem to build daemons.
4
6
 
5
7
  It provides basic functions to start and stop a daemon process. It also parses command-line options.
data/kajiki.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "kajiki"
3
- s.version = "1.0.2"
3
+ s.version = "1.1.0"
4
4
  s.authors = ["Ken J."]
5
5
  s.email = ["kenjij@gmail.com"]
6
6
  s.description = %q{A simple gem to build daemons}
@@ -7,6 +7,7 @@ module Kajiki
7
7
  OPT_DESCS = {
8
8
  banner: "Usage: #{File.basename($0)} [options] {#{SUB_COMMANDS.join('|')}}",
9
9
  address: 'Bind to address',
10
+ config: 'Load config from file',
10
11
  daemonize: 'Run in the background',
11
12
  error: 'Output error to file',
12
13
  group: 'Group to run as',
@@ -18,7 +19,7 @@ module Kajiki
18
19
 
19
20
  # Preset options for command-line parsing.
20
21
  # @param [Symbol] presets are: `:minimal`, `:simple`, or `:server`.
21
- def self.preset_options(preset)
22
+ def self.preset_options(preset, options = {})
22
23
  case preset
23
24
  when :minimal
24
25
  Trollop.options do
@@ -29,26 +30,28 @@ module Kajiki
29
30
  when :simple
30
31
  Trollop.options do
31
32
  banner OPT_DESCS[:banner]
33
+ opt :config, OPT_DESCS[:config], type: :string if options[:config]
32
34
  opt :daemonize, OPT_DESCS[:daemonize]
33
- opt :error, OPT_DESCS[:error], type: :string
34
- opt :group, OPT_DESCS[:group], type: :string
35
+ opt :error, OPT_DESCS[:error], type: :string unless options[:error] == false
36
+ opt :group, OPT_DESCS[:group], type: :string unless options[:user] == false
35
37
  opt :log, OPT_DESCS[:log], type: :string
36
38
  opt :pid, OPT_DESCS[:pid], type: :string
37
- opt :user, OPT_DESCS[:user], type: :string
38
- depends(:user, :group)
39
+ opt :user, OPT_DESCS[:user], type: :string unless options[:user] == false
40
+ depends(:user, :group) unless options[:user] == false
39
41
  end
40
42
  when :server
41
43
  Trollop.options do
42
44
  banner OPT_DESCS[:banner]
43
45
  opt :address, OPT_DESCS[:address], default: '0.0.0.0'
46
+ opt :config, OPT_DESCS[:config], type: :string if options[:config]
44
47
  opt :daemonize, OPT_DESCS[:daemonize]
45
- opt :error, OPT_DESCS[:error], type: :string
46
- opt :group, OPT_DESCS[:group], type: :string
48
+ opt :error, OPT_DESCS[:error], type: :string unless options[:error] == false
49
+ opt :group, OPT_DESCS[:group], type: :string unless options[:user] == false
47
50
  opt :log, OPT_DESCS[:log], type: :string
48
51
  opt :pid, OPT_DESCS[:pid], short: 'P', type: :string
49
52
  opt :port, OPT_DESCS[:port], default: 4567
50
- opt :user, OPT_DESCS[:user], type: :string
51
- depends(:user, :group)
53
+ opt :user, OPT_DESCS[:user], type: :string unless options[:user] == false
54
+ depends(:user, :group) unless options[:user] == false
52
55
  end
53
56
  else
54
57
  fail 'Invalid preset option.'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kajiki
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ken J.