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 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