eye-patch 0.0.2 → 0.0.3

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: e5c73a375a8162cfb4df08af8cd0b4f85fa97861
4
- data.tar.gz: ae491bfcb4e759566e3f0f2315c22cd7f57ef3be
3
+ metadata.gz: 51751ccdad8b978ea9e2489b76c34bfa9a510758
4
+ data.tar.gz: 0ec2abc778aaa2f70418fcad34a002ecd24489c9
5
5
  SHA512:
6
- metadata.gz: aaebf06a44118db1b8f0be72cbc0678e99e0af174794f4d16297ddb0ff8d95d1f6a257dcce3d63139f219c08417200eb1b5648e4a5939c1b5e9814ccacba11c6
7
- data.tar.gz: 069c6c9f416fab611f60b6005e66b07bae61b903e55defb8c2027a1e411a87a20436c4c29e0ef6ac800dcd41e7da9069cf3af35344fb83c203185f47f8a73f5c
6
+ metadata.gz: 742a6f5209e667b387687c0ad32be02b77e1f984e1615670737a770153b298c4451bc773ff1ac2b4b6688f1bd137d8392249737527faeec3e2671175d818bddc
7
+ data.tar.gz: 5f3265ace2224dddf60ce2057feb81eacc67fa2d4688a4d32eea961cecbcb4fb3450bfe548cf29a9ff458565ca8bf40cfe7c5684e2cf453ffa173c9e6b00c451
@@ -1,6 +1,12 @@
1
1
  require "eye"
2
2
  require "eye/patch/overrides"
3
3
 
4
+ begin
5
+ require "eye/notify/ses"
6
+ rescue LoadError
7
+ # Don't worry about loading the ses notifier when `aws/ses` is unavailable
8
+ end
9
+
4
10
  module Eye::Patch
5
11
 
6
12
  require "eye/patch/settings"
@@ -2,61 +2,68 @@ class Eye::Patch::Application < Hash
2
2
 
3
3
  def initialize(settings)
4
4
  super()
5
- self[settings[:name].to_s] = parse(settings)
5
+ @settings = settings
6
+ self[settings[:name].to_s] = parse
6
7
  end
7
8
 
8
9
  private
9
10
 
10
- def parse(settings)
11
+ def parse
11
12
  @config = {}
12
13
 
13
- parse_application(settings)
14
- parse_notifications(settings)
15
- parse_triggers(settings)
16
- parse_processes(settings)
14
+ parse_application
15
+ parse_notifications
16
+ parse_triggers
17
+ parse_processes
17
18
 
18
19
  @config
19
20
  end
20
21
 
21
- def parse_application(settings)
22
- @config.merge!(settings[:application] || {})
22
+ def root_settings
23
+ @settings[:application] || {}
23
24
  end
24
25
 
25
- def parse_notifications(settings)
26
+ def parse_application
27
+ @config.merge!(root_settings)
28
+ end
29
+
30
+ def parse_notifications
26
31
  @config[:notify] = {}
27
32
 
28
- Array(settings[:notifications]).each do |monitor|
33
+ Array(@settings[:notifications]).each do |monitor|
29
34
  @config[:notify][monitor[:name].to_s] = monitor[:level].to_sym
30
35
  end
31
36
  end
32
37
 
33
- def parse_triggers(settings)
38
+ def parse_triggers
34
39
  @config[:triggers] = {}
35
40
 
36
- Array(settings[:triggers]).each do |item|
41
+ Array(@settings[:triggers]).each do |item|
37
42
  trigger_data = Eye::Trigger.name_and_class(item[:name].to_sym)
38
43
  @config[:triggers][trigger_data[:name]] = item[:config].merge(type: trigger_data[:type])
39
44
  end
40
45
  end
41
46
 
42
- def parse_processes(settings)
47
+ def parse_processes
43
48
  @config[:groups] = {}
44
49
 
45
- Array(settings[:processes]).group_by{ |item| item[:group] }.each do |group_name, items|
50
+ Array(@settings[:processes]).group_by{ |item| item[:group] }.each do |group_name, items|
46
51
  name = group_name || "__default__"
47
-
48
- @config[:groups][name.to_s] = { application: settings[:name].to_s }
49
- parse_group(name.to_s, items)
52
+ parse_group(name, items)
50
53
  end
51
54
  end
52
55
 
53
56
  def parse_group(name, processes)
54
- @config[:groups][name][:processes] = parse_process_list(name, processes)
57
+ @config[:groups][name] = root_settings.merge(
58
+ application: @settings[:name].to_s,
59
+ processes: parse_process_list(name, processes))
55
60
  end
56
61
 
57
62
  def parse_process_list(group_name, processes)
58
63
  processes.each_with_object({}) do |process, process_map|
59
- process_map[process[:name].to_s] = process[:config].merge(group: group_name)
64
+ process_map[process[:name].to_s] = root_settings.merge(process[:config]).merge(
65
+ name: process[:name].to_s,
66
+ group: group_name )
60
67
  end
61
68
  end
62
69
  end
@@ -1,5 +1,5 @@
1
1
  module Eye
2
2
  module Patch
3
- VERSION = "0.0.2"
3
+ VERSION = "0.0.3"
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.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Horner