god 0.13.4 → 0.13.5

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.
Files changed (47) hide show
  1. checksums.yaml +7 -0
  2. data/History.txt +13 -0
  3. data/doc/god.asciidoc +50 -8
  4. data/ext/god/extconf.rb +1 -0
  5. data/ext/god/kqueue_handler.c +9 -1
  6. data/ext/god/netlink_handler.c +17 -0
  7. data/god.gemspec +12 -3
  8. data/lib/god.rb +3 -1
  9. data/lib/god/contacts/slack.rb +100 -0
  10. data/lib/god/contacts/statsd.rb +46 -0
  11. data/lib/god/contacts/webhook.rb +1 -0
  12. data/lib/god/process.rb +10 -5
  13. data/test/helper.rb +8 -3
  14. data/test/test_airbrake.rb +1 -1
  15. data/test/test_behavior.rb +2 -2
  16. data/test/test_campfire.rb +1 -1
  17. data/test/test_condition.rb +3 -3
  18. data/test/test_conditions_disk_usage.rb +1 -1
  19. data/test/test_conditions_http_response_code.rb +1 -1
  20. data/test/test_conditions_process_running.rb +1 -1
  21. data/test/test_conditions_socket_responding.rb +1 -1
  22. data/test/test_conditions_tries.rb +3 -3
  23. data/test/test_contact.rb +9 -9
  24. data/test/test_driver.rb +4 -3
  25. data/test/test_email.rb +1 -1
  26. data/test/test_event_handler.rb +2 -2
  27. data/test/test_god.rb +9 -7
  28. data/test/test_handlers_kqueue_handler.rb +1 -1
  29. data/test/test_hipchat.rb +1 -1
  30. data/test/test_jabber.rb +1 -1
  31. data/test/test_logger.rb +3 -3
  32. data/test/test_metric.rb +1 -1
  33. data/test/test_process.rb +7 -3
  34. data/test/test_prowl.rb +1 -1
  35. data/test/test_registry.rb +1 -1
  36. data/test/test_slack.rb +56 -0
  37. data/test/test_socket.rb +1 -1
  38. data/test/test_statsd.rb +22 -0
  39. data/test/test_sugar.rb +1 -1
  40. data/test/test_system_portable_poller.rb +1 -1
  41. data/test/test_system_process.rb +1 -1
  42. data/test/test_task.rb +4 -4
  43. data/test/test_timeline.rb +1 -1
  44. data/test/test_trigger.rb +5 -1
  45. data/test/test_watch.rb +1 -1
  46. data/test/test_webhook.rb +1 -1
  47. metadata +240 -223
@@ -0,0 +1,56 @@
1
+ require File.dirname(__FILE__) + '/helper'
2
+
3
+ class TestSlack < Minitest::Test
4
+ def setup
5
+ @slack = God::Contacts::Slack.new
6
+ @slack.account = "foo"
7
+ @slack.token = "foo"
8
+
9
+ @sample_data = {
10
+ :message => "a sample message",
11
+ :time => "2038-01-01 00:00:00",
12
+ :priority => "High",
13
+ :category => "Test",
14
+ :host => "example.com"
15
+ }
16
+ end
17
+
18
+ def test_api_url
19
+ assert_equal "https://foo.slack.com/services/hooks/incoming-webhook?token=foo", @slack.api_url.to_s
20
+ end
21
+
22
+ def test_notify
23
+ Net::HTTP.any_instance.expects(:request).returns(Net::HTTPSuccess.new('a', 'b', 'c'))
24
+
25
+ @slack.channel = "#ops"
26
+
27
+ @slack.notify('msg', Time.now, 'prio', 'cat', 'host')
28
+ assert_equal "successfully notified slack on channel #ops", @slack.info
29
+ end
30
+
31
+ def test_default_channel
32
+ Net::HTTP.any_instance.expects(:request).returns(Net::HTTPSuccess.new('a', 'b', 'c'))
33
+
34
+ @slack.notify('msg', Time.now, 'prio', 'cat', 'host')
35
+ assert_equal "successfully notified slack on channel #general", @slack.info
36
+ end
37
+
38
+ def test_default_formatting
39
+ text = @slack.text(@sample_data)
40
+ assert_equal "High alert on example.com: a sample message (Test, 2038-01-01 00:00:00)", text
41
+ end
42
+
43
+ def test_custom_formatting
44
+ @slack.format = "%{host}: %{message}"
45
+ text = @slack.text(@sample_data)
46
+ assert_equal "example.com: a sample message", text
47
+ end
48
+
49
+ def test_notify_channel
50
+ @slack.notify_channel = true
51
+ @slack.format = ""
52
+ text = @slack.text(@sample_data)
53
+ assert_equal "<!channel> ", text
54
+ end
55
+ end
56
+
@@ -1,6 +1,6 @@
1
1
  require File.dirname(__FILE__) + '/helper'
2
2
 
3
- class TestSocket < Test::Unit::TestCase
3
+ class TestSocket < Minitest::Test
4
4
  def setup
5
5
  silence_warnings do
6
6
  Object.const_set(:DRb, stub_everything)
@@ -0,0 +1,22 @@
1
+ require File.dirname(__FILE__) + '/helper'
2
+
3
+ class TestStatsd < Minitest::Test
4
+ def setup
5
+ @statsd = God::Contacts::Statsd.new
6
+ end
7
+
8
+ def test_exists
9
+ God::Contacts::Statsd
10
+ end
11
+
12
+ def test_notify
13
+ [
14
+ 'cpu out of bounds',
15
+ 'memory out of bounds',
16
+ 'process is flapping'
17
+ ].each do |event_type|
18
+ ::Statsd.any_instance.expects(:increment).with("god.#{event_type.gsub(/\s/, '_')}.127_0_0_1.myapp-thin-1234")
19
+ @statsd.notify("myapp-thin-1234 [trigger] #{event_type}", Time.now, 'some priority', 'and some category', '127.0.0.1')
20
+ end
21
+ end
22
+ end
@@ -1,6 +1,6 @@
1
1
  require File.dirname(__FILE__) + '/helper'
2
2
 
3
- class TestSugar < Test::Unit::TestCase
3
+ class TestSugar < Minitest::Test
4
4
  def test_seconds
5
5
  assert_equal 1, 1.seconds
6
6
  assert_equal 1, 1.second
@@ -1,6 +1,6 @@
1
1
  require File.dirname(__FILE__) + '/helper'
2
2
 
3
- class TestSystemPortablePoller < Test::Unit::TestCase
3
+ class TestSystemPortablePoller < Minitest::Test
4
4
  def setup
5
5
  pid = Process.pid
6
6
  @process = System::PortablePoller.new(pid)
@@ -1,6 +1,6 @@
1
1
  require File.dirname(__FILE__) + '/helper'
2
2
 
3
- class TestSystemProcess < Test::Unit::TestCase
3
+ class TestSystemProcess < Minitest::Test
4
4
  def setup
5
5
  pid = Process.pid
6
6
  @process = System::Process.new(pid)
@@ -1,6 +1,6 @@
1
1
  require File.dirname(__FILE__) + '/helper'
2
2
 
3
- class TestTask < Test::Unit::TestCase
3
+ class TestTask < Minitest::Test
4
4
  def setup
5
5
  God.internal_init
6
6
  @task = Task.new
@@ -46,13 +46,13 @@ class TestTask < Test::Unit::TestCase
46
46
  end
47
47
 
48
48
  def test_method_missing_should_raise_for_non_states
49
- assert_raise NoMethodError do
49
+ assert_raises NoMethodError do
50
50
  @task.baz = 5
51
51
  end
52
52
  end
53
53
 
54
54
  def test_method_missing_should_raise_for_non_setters
55
- assert_raise NoMethodError do
55
+ assert_raises NoMethodError do
56
56
  @task.baz
57
57
  end
58
58
  end
@@ -75,7 +75,7 @@ class TestTask < Test::Unit::TestCase
75
75
 
76
76
  def test_action_should_raise_not_implemented_on_non_string_or_lambda_action
77
77
  @task.driver.stubs(:in_driver_context?).returns(true)
78
- assert_raise NotImplementedError do
78
+ assert_raises NotImplementedError do
79
79
  @task.foo = 7
80
80
  @task.action(:foo, nil)
81
81
  end
@@ -1,6 +1,6 @@
1
1
  require File.dirname(__FILE__) + '/helper'
2
2
 
3
- class TestTimeline < Test::Unit::TestCase
3
+ class TestTimeline < Minitest::Test
4
4
  def setup
5
5
  @timeline = Timeline.new(5)
6
6
  end
@@ -1,10 +1,14 @@
1
1
  require File.dirname(__FILE__) + '/helper'
2
2
 
3
- class TestTrigger < Test::Unit::TestCase
3
+ class TestTrigger < Minitest::Test
4
4
  def setup
5
5
  Trigger.reset
6
6
  end
7
7
 
8
+ def teardown
9
+ Trigger.reset
10
+ end
11
+
8
12
  # base case
9
13
 
10
14
  def test_should_have_empty_triggers
@@ -1,6 +1,6 @@
1
1
  require File.dirname(__FILE__) + '/helper'
2
2
 
3
- class TestWatch < Test::Unit::TestCase
3
+ class TestWatch < Minitest::Test
4
4
  def setup
5
5
  God.internal_init
6
6
  @watch = Watch.new
@@ -1,6 +1,6 @@
1
1
  require File.dirname(__FILE__) + '/helper'
2
2
 
3
- class TestWebhook < Test::Unit::TestCase
3
+ class TestWebhook < Minitest::Test
4
4
  def setup
5
5
  @webhook = God::Contacts::Webhook.new
6
6
  end
metadata CHANGED
@@ -1,256 +1,277 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: god
3
- version: !ruby/object:Gem::Version
4
- hash: 35
5
- prerelease:
6
- segments:
7
- - 0
8
- - 13
9
- - 4
10
- version: 0.13.4
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.13.5
11
5
  platform: ruby
12
- authors:
6
+ authors:
13
7
  - Tom Preston-Werner
14
8
  - Kevin Clark
15
9
  - Eric Lindvall
16
10
  autorequire:
17
11
  bindir: bin
18
12
  cert_chain: []
19
-
20
- date: 2014-03-05 00:00:00 -08:00
21
- default_executable:
22
- dependencies:
23
- - !ruby/object:Gem::Dependency
24
- version_requirements: &id001 !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ~>
28
- - !ruby/object:Gem::Version
29
- hash: 3
30
- segments:
31
- - 1
32
- - 6
33
- version: "1.6"
34
- prerelease: false
35
- requirement: *id001
13
+ date: 2015-01-09 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
36
16
  name: json
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: '1.6'
37
22
  type: :development
38
- - !ruby/object:Gem::Dependency
39
- version_requirements: &id002 !ruby/object:Gem::Requirement
40
- none: false
41
- requirements:
42
- - - ">="
43
- - !ruby/object:Gem::Version
44
- hash: 3
45
- segments:
46
- - 0
47
- version: "0"
48
23
  prerelease: false
49
- requirement: *id002
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ~>
27
+ - !ruby/object:Gem::Version
28
+ version: '1.6'
29
+ - !ruby/object:Gem::Dependency
50
30
  name: rake
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - '>='
34
+ - !ruby/object:Gem::Version
35
+ version: '0'
51
36
  type: :development
52
- - !ruby/object:Gem::Dependency
53
- version_requirements: &id003 !ruby/object:Gem::Requirement
54
- none: false
55
- requirements:
56
- - - ~>
57
- - !ruby/object:Gem::Version
58
- hash: 19
59
- segments:
60
- - 3
61
- - 10
62
- version: "3.10"
63
37
  prerelease: false
64
- requirement: *id003
65
- name: rdoc
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - '>='
41
+ - !ruby/object:Gem::Version
42
+ version: '0'
43
+ - !ruby/object:Gem::Dependency
44
+ name: minitest
45
+ requirement: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - '>='
48
+ - !ruby/object:Gem::Version
49
+ version: '0'
66
50
  type: :development
67
- - !ruby/object:Gem::Dependency
68
- version_requirements: &id004 !ruby/object:Gem::Requirement
69
- none: false
70
- requirements:
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - '>='
55
+ - !ruby/object:Gem::Version
56
+ version: '0'
57
+ - !ruby/object:Gem::Dependency
58
+ name: rdoc
59
+ requirement: !ruby/object:Gem::Requirement
60
+ requirements:
71
61
  - - ~>
72
- - !ruby/object:Gem::Version
73
- hash: 27
74
- segments:
75
- - 4
76
- - 0
77
- version: "4.0"
62
+ - !ruby/object:Gem::Version
63
+ version: '3.10'
64
+ type: :development
78
65
  prerelease: false
79
- requirement: *id004
66
+ version_requirements: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - ~>
69
+ - !ruby/object:Gem::Version
70
+ version: '3.10'
71
+ - !ruby/object:Gem::Dependency
80
72
  name: twitter
81
- type: :development
82
- - !ruby/object:Gem::Dependency
83
- version_requirements: &id005 !ruby/object:Gem::Requirement
84
- none: false
85
- requirements:
73
+ requirement: !ruby/object:Gem::Requirement
74
+ requirements:
86
75
  - - ~>
87
- - !ruby/object:Gem::Version
88
- hash: 13
89
- segments:
90
- - 0
91
- - 3
92
- version: "0.3"
76
+ - !ruby/object:Gem::Version
77
+ version: '4.0'
78
+ type: :development
93
79
  prerelease: false
94
- requirement: *id005
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - ~>
83
+ - !ruby/object:Gem::Version
84
+ version: '4.0'
85
+ - !ruby/object:Gem::Dependency
95
86
  name: prowly
96
- type: :development
97
- - !ruby/object:Gem::Dependency
98
- version_requirements: &id006 !ruby/object:Gem::Requirement
99
- none: false
100
- requirements:
87
+ requirement: !ruby/object:Gem::Requirement
88
+ requirements:
101
89
  - - ~>
102
- - !ruby/object:Gem::Version
103
- hash: 1
104
- segments:
105
- - 0
106
- - 5
107
- version: "0.5"
90
+ - !ruby/object:Gem::Version
91
+ version: '0.3'
92
+ type: :development
108
93
  prerelease: false
109
- requirement: *id006
94
+ version_requirements: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - ~>
97
+ - !ruby/object:Gem::Version
98
+ version: '0.3'
99
+ - !ruby/object:Gem::Dependency
110
100
  name: xmpp4r
111
- type: :development
112
- - !ruby/object:Gem::Dependency
113
- version_requirements: &id007 !ruby/object:Gem::Requirement
114
- none: false
115
- requirements:
101
+ requirement: !ruby/object:Gem::Requirement
102
+ requirements:
116
103
  - - ~>
117
- - !ruby/object:Gem::Version
118
- hash: 25
119
- segments:
120
- - 0
121
- - 0
122
- - 3
123
- version: 0.0.3
104
+ - !ruby/object:Gem::Version
105
+ version: '0.5'
106
+ type: :development
124
107
  prerelease: false
125
- requirement: *id007
108
+ version_requirements: !ruby/object:Gem::Requirement
109
+ requirements:
110
+ - - ~>
111
+ - !ruby/object:Gem::Version
112
+ version: '0.5'
113
+ - !ruby/object:Gem::Dependency
126
114
  name: dike
127
- type: :development
128
- - !ruby/object:Gem::Dependency
129
- version_requirements: &id008 !ruby/object:Gem::Requirement
130
- none: false
131
- requirements:
115
+ requirement: !ruby/object:Gem::Requirement
116
+ requirements:
132
117
  - - ~>
133
- - !ruby/object:Gem::Version
134
- hash: 25
135
- segments:
136
- - 0
137
- - 9
138
- version: "0.9"
139
- prerelease: false
140
- requirement: *id008
141
- name: rcov
118
+ - !ruby/object:Gem::Version
119
+ version: 0.0.3
142
120
  type: :development
143
- - !ruby/object:Gem::Dependency
144
- version_requirements: &id009 !ruby/object:Gem::Requirement
145
- none: false
146
- requirements:
147
- - - ~>
148
- - !ruby/object:Gem::Version
149
- hash: 13
150
- segments:
151
- - 1
152
- - 1
153
- version: "1.1"
154
121
  prerelease: false
155
- requirement: *id009
122
+ version_requirements: !ruby/object:Gem::Requirement
123
+ requirements:
124
+ - - ~>
125
+ - !ruby/object:Gem::Version
126
+ version: 0.0.3
127
+ - !ruby/object:Gem::Dependency
156
128
  name: daemons
157
- type: :development
158
- - !ruby/object:Gem::Dependency
159
- version_requirements: &id010 !ruby/object:Gem::Requirement
160
- none: false
161
- requirements:
129
+ requirement: !ruby/object:Gem::Requirement
130
+ requirements:
162
131
  - - ~>
163
- - !ruby/object:Gem::Version
164
- hash: 31
165
- segments:
166
- - 0
167
- - 10
168
- version: "0.10"
132
+ - !ruby/object:Gem::Version
133
+ version: '1.1'
134
+ type: :development
169
135
  prerelease: false
170
- requirement: *id010
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ requirements:
138
+ - - ~>
139
+ - !ruby/object:Gem::Version
140
+ version: '1.1'
141
+ - !ruby/object:Gem::Dependency
171
142
  name: mocha
172
- type: :development
173
- - !ruby/object:Gem::Dependency
174
- version_requirements: &id011 !ruby/object:Gem::Requirement
175
- none: false
176
- requirements:
143
+ requirement: !ruby/object:Gem::Requirement
144
+ requirements:
177
145
  - - ~>
178
- - !ruby/object:Gem::Version
179
- hash: 25
180
- segments:
181
- - 1
182
- - 3
183
- - 1
184
- version: 1.3.1
146
+ - !ruby/object:Gem::Version
147
+ version: '0.10'
148
+ type: :development
185
149
  prerelease: false
186
- requirement: *id011
150
+ version_requirements: !ruby/object:Gem::Requirement
151
+ requirements:
152
+ - - ~>
153
+ - !ruby/object:Gem::Version
154
+ version: '0.10'
155
+ - !ruby/object:Gem::Dependency
187
156
  name: gollum
157
+ requirement: !ruby/object:Gem::Requirement
158
+ requirements:
159
+ - - ~>
160
+ - !ruby/object:Gem::Version
161
+ version: 1.3.1
188
162
  type: :development
189
- - !ruby/object:Gem::Dependency
190
- version_requirements: &id012 !ruby/object:Gem::Requirement
191
- none: false
192
- requirements:
163
+ prerelease: false
164
+ version_requirements: !ruby/object:Gem::Requirement
165
+ requirements:
193
166
  - - ~>
194
- - !ruby/object:Gem::Version
195
- hash: 13
196
- segments:
197
- - 3
198
- - 1
199
- - 7
200
- version: 3.1.7
167
+ - !ruby/object:Gem::Version
168
+ version: 1.3.1
169
+ - !ruby/object:Gem::Dependency
170
+ name: mustache
171
+ requirement: !ruby/object:Gem::Requirement
172
+ requirements:
173
+ - - ~>
174
+ - !ruby/object:Gem::Version
175
+ version: 0.99.0
176
+ - - <
177
+ - !ruby/object:Gem::Version
178
+ version: 0.99.7
179
+ type: :development
201
180
  prerelease: false
202
- requirement: *id012
181
+ version_requirements: !ruby/object:Gem::Requirement
182
+ requirements:
183
+ - - ~>
184
+ - !ruby/object:Gem::Version
185
+ version: 0.99.0
186
+ - - <
187
+ - !ruby/object:Gem::Version
188
+ version: 0.99.7
189
+ - !ruby/object:Gem::Dependency
203
190
  name: airbrake
191
+ requirement: !ruby/object:Gem::Requirement
192
+ requirements:
193
+ - - ~>
194
+ - !ruby/object:Gem::Version
195
+ version: 3.1.7
204
196
  type: :development
205
- - !ruby/object:Gem::Dependency
206
- version_requirements: &id013 !ruby/object:Gem::Requirement
207
- none: false
208
- requirements:
197
+ prerelease: false
198
+ version_requirements: !ruby/object:Gem::Requirement
199
+ requirements:
209
200
  - - ~>
210
- - !ruby/object:Gem::Version
211
- hash: 3
212
- segments:
213
- - 1
214
- - 5
215
- - 0
201
+ - !ruby/object:Gem::Version
202
+ version: 3.1.7
203
+ - !ruby/object:Gem::Dependency
204
+ name: nokogiri
205
+ requirement: !ruby/object:Gem::Requirement
206
+ requirements:
207
+ - - ~>
208
+ - !ruby/object:Gem::Version
216
209
  version: 1.5.0
210
+ type: :development
217
211
  prerelease: false
218
- requirement: *id013
219
- name: nokogiri
212
+ version_requirements: !ruby/object:Gem::Requirement
213
+ requirements:
214
+ - - ~>
215
+ - !ruby/object:Gem::Version
216
+ version: 1.5.0
217
+ - !ruby/object:Gem::Dependency
218
+ name: activesupport
219
+ requirement: !ruby/object:Gem::Requirement
220
+ requirements:
221
+ - - '>='
222
+ - !ruby/object:Gem::Version
223
+ version: 2.3.10
224
+ - - <
225
+ - !ruby/object:Gem::Version
226
+ version: 4.0.0
220
227
  type: :development
221
- - !ruby/object:Gem::Dependency
222
- version_requirements: &id014 !ruby/object:Gem::Requirement
223
- none: false
224
- requirements:
225
- - - ">="
226
- - !ruby/object:Gem::Version
227
- hash: 23
228
- segments:
229
- - 2
230
- - 3
231
- - 10
228
+ prerelease: false
229
+ version_requirements: !ruby/object:Gem::Requirement
230
+ requirements:
231
+ - - '>='
232
+ - !ruby/object:Gem::Version
232
233
  version: 2.3.10
233
234
  - - <
234
- - !ruby/object:Gem::Version
235
- hash: 63
236
- segments:
237
- - 4
238
- - 0
239
- - 0
235
+ - !ruby/object:Gem::Version
240
236
  version: 4.0.0
237
+ - !ruby/object:Gem::Dependency
238
+ name: statsd-ruby
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - '>='
242
+ - !ruby/object:Gem::Version
243
+ version: '0'
244
+ type: :development
241
245
  prerelease: false
242
- requirement: *id014
243
- name: activesupport
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - '>='
249
+ - !ruby/object:Gem::Version
250
+ version: '0'
251
+ - !ruby/object:Gem::Dependency
252
+ name: i18n
253
+ requirement: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - <
256
+ - !ruby/object:Gem::Version
257
+ version: 0.7.0
244
258
  type: :development
245
- description: An easy to configure, easy to extend monitoring framework written in Ruby.
259
+ prerelease: false
260
+ version_requirements: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - <
263
+ - !ruby/object:Gem::Version
264
+ version: 0.7.0
265
+ description: An easy to configure, easy to extend monitoring framework written in
266
+ Ruby.
246
267
  email: god-rb@googlegroups.com
247
- executables:
268
+ executables:
248
269
  - god
249
- extensions:
270
+ extensions:
250
271
  - ext/god/extconf.rb
251
- extra_rdoc_files:
272
+ extra_rdoc_files:
252
273
  - README.md
253
- files:
274
+ files:
254
275
  - Announce.txt
255
276
  - Gemfile
256
277
  - History.txt
@@ -299,6 +320,8 @@ files:
299
320
  - lib/god/contacts/jabber.rb
300
321
  - lib/god/contacts/prowl.rb
301
322
  - lib/god/contacts/scout.rb
323
+ - lib/god/contacts/slack.rb
324
+ - lib/god/contacts/statsd.rb
302
325
  - lib/god/contacts/twitter.rb
303
326
  - lib/god/contacts/webhook.rb
304
327
  - lib/god/driver.rb
@@ -374,7 +397,9 @@ files:
374
397
  - test/test_process.rb
375
398
  - test/test_prowl.rb
376
399
  - test/test_registry.rb
400
+ - test/test_slack.rb
377
401
  - test/test_socket.rb
402
+ - test/test_statsd.rb
378
403
  - test/test_sugar.rb
379
404
  - test/test_system_portable_poller.rb
380
405
  - test/test_system_process.rb
@@ -383,42 +408,32 @@ files:
383
408
  - test/test_trigger.rb
384
409
  - test/test_watch.rb
385
410
  - test/test_webhook.rb
386
- has_rdoc: true
387
411
  homepage: http://god.rubyforge.org/
388
412
  licenses: []
389
-
413
+ metadata: {}
390
414
  post_install_message:
391
- rdoc_options:
415
+ rdoc_options:
392
416
  - --charset=UTF-8
393
- require_paths:
417
+ require_paths:
394
418
  - lib
395
419
  - ext
396
- required_ruby_version: !ruby/object:Gem::Requirement
397
- none: false
398
- requirements:
399
- - - ">="
400
- - !ruby/object:Gem::Version
401
- hash: 3
402
- segments:
403
- - 0
404
- version: "0"
405
- required_rubygems_version: !ruby/object:Gem::Requirement
406
- none: false
407
- requirements:
408
- - - ">="
409
- - !ruby/object:Gem::Version
410
- hash: 3
411
- segments:
412
- - 0
413
- version: "0"
420
+ required_ruby_version: !ruby/object:Gem::Requirement
421
+ requirements:
422
+ - - '>='
423
+ - !ruby/object:Gem::Version
424
+ version: '0'
425
+ required_rubygems_version: !ruby/object:Gem::Requirement
426
+ requirements:
427
+ - - '>='
428
+ - !ruby/object:Gem::Version
429
+ version: '0'
414
430
  requirements: []
415
-
416
431
  rubyforge_project: god
417
- rubygems_version: 1.6.2
432
+ rubygems_version: 2.0.14
418
433
  signing_key:
419
434
  specification_version: 2
420
435
  summary: Process monitoring framework.
421
- test_files:
436
+ test_files:
422
437
  - test/test_airbrake.rb
423
438
  - test/test_behavior.rb
424
439
  - test/test_campfire.rb
@@ -441,7 +456,9 @@ test_files:
441
456
  - test/test_process.rb
442
457
  - test/test_prowl.rb
443
458
  - test/test_registry.rb
459
+ - test/test_slack.rb
444
460
  - test/test_socket.rb
461
+ - test/test_statsd.rb
445
462
  - test/test_sugar.rb
446
463
  - test/test_system_portable_poller.rb
447
464
  - test/test_system_process.rb