god 0.13.4 → 0.13.5

Sign up to get free protection for your applications and to get access to all the features.
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