eye-patch 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4a904d9ab31e2dc78e874ff356a9c63b35da0d41
4
- data.tar.gz: 40bc46108198bd4a9f430e646a3a7d7c9d8df63f
3
+ metadata.gz: e5c73a375a8162cfb4df08af8cd0b4f85fa97861
4
+ data.tar.gz: ae491bfcb4e759566e3f0f2315c22cd7f57ef3be
5
5
  SHA512:
6
- metadata.gz: 32a289481244b7276564d46e4b035d8a214a8fc6873238ee0ecb8704110808b8437662028d2efa03b5bd9f2cfd5cd246e0c64186157ff31e2daf6e1489d77068
7
- data.tar.gz: 577b74325ae1560c616c92b9af23720d50d9ac9a1ea8d7a5b77656e58ee4dcafc0a7eb76ad16626202c6ea82f05d889668ec8dc06c4b26c1115ddb388a703b12
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
- if group_name
47
- parse_group(group_name, items)
48
- else
49
- @config[:processes] = parse_process_list(items)
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.to_s] = {}
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
@@ -1,5 +1,5 @@
1
1
  module Eye
2
2
  module Patch
3
- VERSION = "0.0.1"
3
+ VERSION = "0.0.2"
4
4
  end
5
5
  end
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.1
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