servitude 0.4.0 → 0.5.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 +4 -4
- data/README.md +2 -2
- data/examples/1_simple_server +3 -3
- data/examples/2_echo_server +3 -3
- data/examples/3_echo_server_with_cli_and_daemon +3 -3
- data/examples/4_echo_server_with_cli_daemon_and_file_config +3 -3
- data/examples/5_echo_server_with_cli_daemon_and_env_config +3 -3
- data/lib/servitude/base.rb +41 -7
- data/lib/servitude/util.rb +19 -0
- data/lib/servitude/version.rb +1 -1
- data/lib/servitude.rb +1 -0
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0cb042d305f0b88d3c0f0c6fb30c68cf5e594ee0
|
4
|
+
data.tar.gz: 7428b62b9bdb7e62fcde7638b22f97ae381e1a87
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2771c1e6a3ae5152a48b61784cb2a9cad04455f417d2688b4614a85f82eed2491f9cd592a03c83bf78467ff563bebdcd6e19ed687c1c09c92daf8330f3a7cf05
|
7
|
+
data.tar.gz: da0c91b560eabf6c12869a0b93f6c8eab4a065e825e56ed0e11f27c585af4fc781d107a778d9076853150fe7a7de5d1c5fd98b0b8ae65e3cbb8e36ce0bc81f55
|
data/README.md
CHANGED
@@ -68,12 +68,12 @@ If you do not call ::boot, an error is raised before your server can be started.
|
|
68
68
|
boot host_namespace: AwesomeServer,
|
69
69
|
app_id: 'awesome-server',
|
70
70
|
app_name: 'Aswesome Server',
|
71
|
-
|
71
|
+
attribution: "v#{VERSION} \u00A9#{Time.now.year} Awesome, Inc."
|
72
|
+
author: 'Awesome, Inc.',
|
72
73
|
default_config_path: "/etc/awesome/awesome-server.conf",
|
73
74
|
default_log_path: "/var/log/awesome/awesome-server.log",
|
74
75
|
default_pid_path: "/var/run/awesome/awesome-server.pid",
|
75
76
|
default_thread_count: 1,
|
76
|
-
version_copyright: "v#{VERSION} \u00A9#{Time.now.year} Awesome, Inc."
|
77
77
|
end
|
78
78
|
|
79
79
|
### Servitude::Cli
|
data/examples/1_simple_server
CHANGED
@@ -25,13 +25,13 @@ module SimpleServer
|
|
25
25
|
boot host_namespace: SimpleServer,
|
26
26
|
app_id: 'simple-server',
|
27
27
|
app_name: 'Simple Server',
|
28
|
-
|
28
|
+
attribution: "v#{VERSION} \u00A9#{Time.now.year} LFE",
|
29
|
+
author: 'LFE',
|
29
30
|
use_config: false,
|
30
31
|
default_config_path: nil,
|
31
32
|
default_log_path: nil,
|
32
33
|
default_pid_path: nil,
|
33
|
-
default_thread_count: nil
|
34
|
-
version_copyright: "v#{VERSION} \u00A9#{Time.now.year} LFE"
|
34
|
+
default_thread_count: nil
|
35
35
|
|
36
36
|
class Server
|
37
37
|
|
data/examples/2_echo_server
CHANGED
@@ -31,13 +31,13 @@ module EchoServer
|
|
31
31
|
boot host_namespace: EchoServer,
|
32
32
|
app_id: 'echo-server',
|
33
33
|
app_name: 'Echo Server',
|
34
|
-
|
34
|
+
attribution: "v#{VERSION} \u00A9#{Time.now.year} LFE",
|
35
|
+
author: 'LFE',
|
35
36
|
use_config: false,
|
36
37
|
default_config_path: nil,
|
37
38
|
default_log_path: nil,
|
38
39
|
default_pid_path: nil,
|
39
|
-
default_thread_count: nil
|
40
|
-
version_copyright: "v#{VERSION} \u00A9#{Time.now.year} LFE"
|
40
|
+
default_thread_count: nil
|
41
41
|
|
42
42
|
class Server
|
43
43
|
|
@@ -42,13 +42,13 @@ module EchoServer
|
|
42
42
|
boot host_namespace: EchoServer,
|
43
43
|
app_id: 'echo-server-with-cli',
|
44
44
|
app_name: 'Echo Server With CLI',
|
45
|
-
|
45
|
+
attribution: "v#{VERSION} \u00A9#{Time.now.year} LFE",
|
46
|
+
author: 'LFE',
|
46
47
|
use_config: false,
|
47
48
|
default_config_path: "#{PROJECT_ROOT}}/config/#{APP_FOLDER}.conf",
|
48
49
|
default_log_path: "#{PROJECT_ROOT}/tmp/#{APP_FOLDER}.log",
|
49
50
|
default_pid_path: "#{PROJECT_ROOT}/tmp/#{APP_FOLDER}.pid",
|
50
|
-
default_thread_count: nil
|
51
|
-
version_copyright: "v#{VERSION} \u00A9#{Time.now.year} LFE"
|
51
|
+
default_thread_count: nil
|
52
52
|
|
53
53
|
class Cli < Servitude::Cli::Service
|
54
54
|
end
|
@@ -42,13 +42,13 @@ module EchoServer
|
|
42
42
|
boot host_namespace: EchoServer,
|
43
43
|
app_id: 'echo-server-with-cli-and-file-config',
|
44
44
|
app_name: 'Echo Server With CLI And File Config',
|
45
|
-
|
45
|
+
attribution: "v#{VERSION} \u00A9#{Time.now.year} LFE",
|
46
|
+
author: 'LFE',
|
46
47
|
use_config: true,
|
47
48
|
default_config_path: "#{PROJECT_ROOT}/config/4.conf",
|
48
49
|
default_log_path: "#{PROJECT_ROOT}/tmp/#{APP_FOLDER}.log",
|
49
50
|
default_pid_path: "#{PROJECT_ROOT}/tmp/#{APP_FOLDER}.pid",
|
50
|
-
default_thread_count: nil
|
51
|
-
version_copyright: "v#{VERSION} \u00A9#{Time.now.year} LFE"
|
51
|
+
default_thread_count: nil
|
52
52
|
|
53
53
|
class Cli < Servitude::Cli::Service
|
54
54
|
end
|
@@ -50,13 +50,13 @@ module EchoServer
|
|
50
50
|
boot host_namespace: EchoServer,
|
51
51
|
app_id: 'echo-server-with-cli-and-env-config',
|
52
52
|
app_name: 'Echo Server With CLI And Env Config',
|
53
|
-
|
53
|
+
attribution: "v#{VERSION} \u00A9#{Time.now.year} LFE",
|
54
|
+
author: 'LFE',
|
54
55
|
use_config: true,
|
55
56
|
default_config_path: "#{PROJECT_ROOT}/config/5.conf",
|
56
57
|
default_log_path: "#{PROJECT_ROOT}/tmp/#{APP_FOLDER}.log",
|
57
58
|
default_pid_path: "#{PROJECT_ROOT}/tmp/#{APP_FOLDER}.pid",
|
58
|
-
default_thread_count: nil
|
59
|
-
version_copyright: "v#{VERSION} \u00A9#{Time.now.year} LFE"
|
59
|
+
default_thread_count: nil
|
60
60
|
|
61
61
|
class Cli < Servitude::Cli::Service
|
62
62
|
end
|
data/lib/servitude/base.rb
CHANGED
@@ -16,27 +16,61 @@ module Servitude
|
|
16
16
|
|
17
17
|
module ClassMethods
|
18
18
|
|
19
|
-
def boot( host_namespace:
|
20
|
-
app_id: host_namespace.name.split( '::' ).join( '-' ).downcase,
|
21
|
-
app_name: host_namespace.name.split( '::' ).join( ' ' ),
|
22
|
-
|
19
|
+
def boot( host_namespace: nil,
|
20
|
+
app_id: ( host_namespace.name.split( '::' ).join( '-' ).downcase rescue nil ),
|
21
|
+
app_name: ( host_namespace.name.split( '::' ).join( ' ' ) rescue nil ),
|
22
|
+
author: nil,
|
23
|
+
company: nil, # TODO: Remove when company keyword deprecation expires
|
24
|
+
attribution: ( "v#{host_namespace::VERSION} Copyright © #{Time.now.year} #{author || company}" rescue nil ),
|
23
25
|
use_config: false,
|
24
26
|
default_config_path: nil,
|
25
27
|
default_log_path: nil,
|
26
28
|
default_pid_path: nil,
|
27
29
|
default_thread_count: nil,
|
28
|
-
version_copyright:
|
30
|
+
version_copyright: nil ) # TODO: Remove when version_copyright keyword deprecation expires
|
31
|
+
unless host_namespace
|
32
|
+
raise ArgumentError, 'host_namespace keyword is required'
|
33
|
+
end
|
34
|
+
unless app_id
|
35
|
+
raise ArgumentError, 'app_id keyword is required'
|
36
|
+
end
|
37
|
+
unless app_name
|
38
|
+
raise ArgumentError, 'app_name keyword is required'
|
39
|
+
end
|
40
|
+
unless author || company
|
41
|
+
raise ArgumentError, 'author keyword is required'
|
42
|
+
end
|
43
|
+
unless attribution || version_copyright
|
44
|
+
raise ArgumentError, 'attribution keyword is required'
|
45
|
+
end
|
46
|
+
|
47
|
+
# TODO: Remove when company keyword deprecation expires
|
48
|
+
if company
|
49
|
+
Util.deprecate "#{Base.name}.boot company: #{company.inspect}",
|
50
|
+
"#{Base.name}.boot author: #{company.inspect}"
|
51
|
+
author = company
|
52
|
+
end
|
53
|
+
|
54
|
+
# TODO: Remove when version_copyright keyword deprecation expires
|
55
|
+
if version_copyright
|
56
|
+
Util.deprecate "#{Base.name}.boot version_copyright: #{version_copyright.inspect}",
|
57
|
+
"#{Base.name}.boot attribution: #{version_copyright.inspect}"
|
58
|
+
attribution = version_copyright
|
59
|
+
end
|
60
|
+
|
29
61
|
Servitude::const_set :NS, host_namespace
|
30
62
|
|
31
63
|
const_set :APP_ID, app_id
|
32
64
|
const_set :APP_NAME, app_name
|
33
|
-
const_set :
|
65
|
+
const_set :AUTHOR, author
|
66
|
+
const_set :COMPANY, author # TODO: Remove when company keyword deprecation expires
|
67
|
+
const_set :ATTRIBUTION, attribution
|
34
68
|
const_set :DEFAULT_CONFIG_PATH, default_config_path
|
35
69
|
const_set :DEFAULT_LOG_PATH, default_log_path
|
36
70
|
const_set :DEFAULT_PID_PATH, default_pid_path
|
37
71
|
const_set :DEFAULT_THREAD_COUNT, default_thread_count
|
38
72
|
const_set :USE_CONFIG, use_config
|
39
|
-
const_set :VERSION_COPYRIGHT, version_copyright
|
73
|
+
const_set :VERSION_COPYRIGHT, attribution # TODO: Remove when version_copyright keyword deprecation expires
|
40
74
|
|
41
75
|
Servitude::boot_called = true
|
42
76
|
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'rainbow'
|
2
|
+
|
3
|
+
module Servitude
|
4
|
+
|
5
|
+
module Util
|
6
|
+
|
7
|
+
def self.deprecate( deprecated_usage, sanctioned_usage )
|
8
|
+
$stderr.print Rainbow( " *** DEPRECATED " ).yellow.inverse
|
9
|
+
$stderr.print ' '
|
10
|
+
$stderr.print Rainbow( deprecated_usage ).underline
|
11
|
+
$stderr.print Rainbow(" -- use ")
|
12
|
+
$stderr.print Rainbow( sanctioned_usage ).underline
|
13
|
+
$stderr.print Rainbow(" instead")
|
14
|
+
$stderr.puts ''
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
data/lib/servitude/version.rb
CHANGED
data/lib/servitude.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: servitude
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jason Harrelson
|
@@ -203,6 +203,7 @@ files:
|
|
203
203
|
- lib/servitude/server_logging.rb
|
204
204
|
- lib/servitude/server_threaded.rb
|
205
205
|
- lib/servitude/supervision_error.rb
|
206
|
+
- lib/servitude/util.rb
|
206
207
|
- lib/servitude/version.rb
|
207
208
|
- servitude.gemspec
|
208
209
|
- spec/servitude/pretty_print_spec.rb
|