eye-patch 0.0.1 → 0.0.2
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/bin/eye-patch-loader +57 -0
- data/lib/eye/patch.rb +1 -9
- data/lib/eye/patch/application.rb +7 -9
- data/lib/eye/patch/overrides.rb +18 -0
- data/lib/eye/patch/version.rb +1 -1
- metadata +4 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e5c73a375a8162cfb4df08af8cd0b4f85fa97861
|
4
|
+
data.tar.gz: ae491bfcb4e759566e3f0f2315c22cd7f57ef3be
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: aaebf06a44118db1b8f0be72cbc0678e99e0af174794f4d16297ddb0ff8d95d1f6a257dcce3d63139f219c08417200eb1b5648e4a5939c1b5e9814ccacba11c6
|
7
|
+
data.tar.gz: 069c6c9f416fab611f60b6005e66b07bae61b903e55defb8c2027a1e411a87a20436c4c29e0ef6ac800dcd41e7da9069cf3af35344fb83c203185f47f8a73f5c
|
@@ -0,0 +1,57 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
$:.unshift File.expand_path(File.join(File.dirname(__FILE__), %w[.. lib]))
|
3
|
+
require "eye/loader"
|
4
|
+
require "optparse"
|
5
|
+
require "eye/patch"
|
6
|
+
|
7
|
+
options = {:debug => true}
|
8
|
+
|
9
|
+
OptionParser.new do |opts|
|
10
|
+
opts.on( '-h', '--help', 'Display this screen' ) do
|
11
|
+
puts opts
|
12
|
+
exit
|
13
|
+
end
|
14
|
+
|
15
|
+
opts.on( '-c', '--config CONFIG', 'load with config' ) do |config_path|
|
16
|
+
options[:config] = config_path
|
17
|
+
end
|
18
|
+
|
19
|
+
opts.on( '-s', '--socket SOCKET', 'start listen on socket' ) do |socket_path|
|
20
|
+
options[:socket_path] = socket_path
|
21
|
+
end
|
22
|
+
|
23
|
+
opts.on( '-l', '--logger LOGGER', 'custom logger' ) do |logger|
|
24
|
+
options[:logger] = logger
|
25
|
+
end
|
26
|
+
|
27
|
+
opts.on( '-d', '--debug', 'debug info to logger' ) do
|
28
|
+
options[:debug] = true
|
29
|
+
end
|
30
|
+
|
31
|
+
end.parse!
|
32
|
+
|
33
|
+
Eye::Local.ensure_eye_dir
|
34
|
+
|
35
|
+
socket_path = options[:socket_path] || Eye::Local.socket_path
|
36
|
+
server = Eye::Server.new(socket_path)
|
37
|
+
|
38
|
+
Eye::Logger.log_level = options[:debug] ? Logger::DEBUG : Logger::INFO
|
39
|
+
Eye::Logger.link_logger(options[:logger]) if options[:logger]
|
40
|
+
|
41
|
+
config = options[:config]
|
42
|
+
config = File.expand_path(config) if config && !config.empty?
|
43
|
+
|
44
|
+
if config
|
45
|
+
res = server.command('load', config)
|
46
|
+
exit if res.values.any? { |r| r[:error] }
|
47
|
+
end
|
48
|
+
|
49
|
+
Eye::Control.set_proc_line
|
50
|
+
|
51
|
+
server.async.run
|
52
|
+
|
53
|
+
trap("INT"){ exit }
|
54
|
+
trap("USR1"){ Eye::Logger.reopen }
|
55
|
+
trap("USR2"){ GC.start }
|
56
|
+
|
57
|
+
sleep
|
data/lib/eye/patch.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require "eye"
|
2
|
+
require "eye/patch/overrides"
|
2
3
|
|
3
4
|
module Eye::Patch
|
4
5
|
|
@@ -18,12 +19,3 @@ module Eye::Patch
|
|
18
19
|
config
|
19
20
|
end
|
20
21
|
end
|
21
|
-
|
22
|
-
module Eye::Controller::Load
|
23
|
-
|
24
|
-
private
|
25
|
-
|
26
|
-
def parse_config(filename)
|
27
|
-
Eye::Patch.parse(filename)
|
28
|
-
end
|
29
|
-
end
|
@@ -43,22 +43,20 @@ class Eye::Patch::Application < Hash
|
|
43
43
|
@config[:groups] = {}
|
44
44
|
|
45
45
|
Array(settings[:processes]).group_by{ |item| item[:group] }.each do |group_name, items|
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
end
|
46
|
+
name = group_name || "__default__"
|
47
|
+
|
48
|
+
@config[:groups][name.to_s] = { application: settings[:name].to_s }
|
49
|
+
parse_group(name.to_s, items)
|
51
50
|
end
|
52
51
|
end
|
53
52
|
|
54
53
|
def parse_group(name, processes)
|
55
|
-
@config[:groups][name
|
56
|
-
@config[:groups][name.to_s][:processes] = parse_process_list(processes)
|
54
|
+
@config[:groups][name][:processes] = parse_process_list(name, processes)
|
57
55
|
end
|
58
56
|
|
59
|
-
def parse_process_list(processes)
|
57
|
+
def parse_process_list(group_name, processes)
|
60
58
|
processes.each_with_object({}) do |process, process_map|
|
61
|
-
process_map[process[:name].to_s] = process[:config]
|
59
|
+
process_map[process[:name].to_s] = process[:config].merge(group: group_name)
|
62
60
|
end
|
63
61
|
end
|
64
62
|
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
Eye::Cli.class_eval do
|
2
|
+
private
|
3
|
+
|
4
|
+
def loader_path
|
5
|
+
filename = File.expand_path(File.join(File.dirname(__FILE__), %w[.. .. .. bin eye-patch-loader]))
|
6
|
+
File.exists?(filename) ? filename : nil
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
Eye::Controller.class_eval do
|
11
|
+
private
|
12
|
+
|
13
|
+
def parse_config(filename)
|
14
|
+
Eye::Patch.parse(filename)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
Eye::Control
|
data/lib/eye/patch/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: eye-patch
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Horner
|
@@ -71,6 +71,7 @@ email:
|
|
71
71
|
- andrew@tablexi.com
|
72
72
|
executables:
|
73
73
|
- eye-patch
|
74
|
+
- eye-patch-loader
|
74
75
|
extensions: []
|
75
76
|
extra_rdoc_files: []
|
76
77
|
files:
|
@@ -80,11 +81,13 @@ files:
|
|
80
81
|
- README.md
|
81
82
|
- Rakefile
|
82
83
|
- bin/eye-patch
|
84
|
+
- bin/eye-patch-loader
|
83
85
|
- eye-patch.gemspec
|
84
86
|
- lib/eye/notify/ses.rb
|
85
87
|
- lib/eye/patch.rb
|
86
88
|
- lib/eye/patch/application.rb
|
87
89
|
- lib/eye/patch/config.rb
|
90
|
+
- lib/eye/patch/overrides.rb
|
88
91
|
- lib/eye/patch/settings.rb
|
89
92
|
- lib/eye/patch/version.rb
|
90
93
|
- test/test_helper.rb
|