eye-patch 0.0.2 → 0.0.3

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