whoops 0.1.5 → 0.1.6
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +9 -1
- data/README.asciidoc +2 -0
- data/app/mailers/whoops/notification_mailer.rb +10 -0
- data/app/models/whoops/event_group.rb +8 -1
- metadata +10 -24
data/Gemfile
CHANGED
data/README.asciidoc
CHANGED
@@ -16,6 +16,8 @@ Whoops is a logging system. It consists of a Rails engine (which records logs an
|
|
16
16
|
|
17
17
|
* http://airbrakeapp.com/pages/home[Airbrake (the app formerly known as Hoptoad)]
|
18
18
|
* https://papertrailapp.com/[papertrail]
|
19
|
+
* http://graylog2.org/[Graylog2]
|
20
|
+
* https://github.com/jdpace/errbit[errbit]
|
19
21
|
|
20
22
|
== License
|
21
23
|
|
@@ -0,0 +1,10 @@
|
|
1
|
+
class Whoops::NotificationMailer < ActionMailer::Base
|
2
|
+
def event_notification(event_group, *addresses)
|
3
|
+
@event_group = event_group
|
4
|
+
@addresses = addresses
|
5
|
+
mail(
|
6
|
+
:to => addresses,
|
7
|
+
:subject => "Whoops Notification | #{event_group.service}: #{event_group.environment}: #{event_group.message}"
|
8
|
+
)
|
9
|
+
end
|
10
|
+
end
|
@@ -8,11 +8,13 @@ class Whoops::EventGroup
|
|
8
8
|
end
|
9
9
|
field :last_recorded_at, :type => DateTime
|
10
10
|
field :notify_on_next_occurrence, :type => Boolean, :default => true
|
11
|
-
|
11
|
+
|
12
12
|
has_many :events, :class_name => "Whoops::Event"
|
13
13
|
|
14
14
|
validates_presence_of :identifier, :event_type, :service, :message
|
15
15
|
|
16
|
+
after_validation :send_notifications
|
17
|
+
|
16
18
|
def self.identifying_fields
|
17
19
|
field_names - ["message", "last_recorded_at"]
|
18
20
|
end
|
@@ -31,5 +33,10 @@ class Whoops::EventGroup
|
|
31
33
|
services
|
32
34
|
end
|
33
35
|
|
36
|
+
def send_notifications
|
37
|
+
matcher = Whoops::NotificationRule::Matcher.new(self)
|
38
|
+
Whoops::NotificationMailer.event_notification(self, matcher.matches)
|
39
|
+
self.notify_on_next_occurrence = false
|
40
|
+
end
|
34
41
|
|
35
42
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: whoops
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 23
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 6
|
10
|
+
version: 0.1.6
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Daniel Higginbotham
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-
|
18
|
+
date: 2011-08-02 00:00:00 -04:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -179,7 +179,7 @@ dependencies:
|
|
179
179
|
type: :development
|
180
180
|
version_requirements: *id011
|
181
181
|
- !ruby/object:Gem::Dependency
|
182
|
-
name:
|
182
|
+
name: faker
|
183
183
|
prerelease: false
|
184
184
|
requirement: &id012 !ruby/object:Gem::Requirement
|
185
185
|
none: false
|
@@ -192,24 +192,10 @@ dependencies:
|
|
192
192
|
version: "0"
|
193
193
|
type: :development
|
194
194
|
version_requirements: *id012
|
195
|
-
- !ruby/object:Gem::Dependency
|
196
|
-
name: faker
|
197
|
-
prerelease: false
|
198
|
-
requirement: &id013 !ruby/object:Gem::Requirement
|
199
|
-
none: false
|
200
|
-
requirements:
|
201
|
-
- - ">="
|
202
|
-
- !ruby/object:Gem::Version
|
203
|
-
hash: 3
|
204
|
-
segments:
|
205
|
-
- 0
|
206
|
-
version: "0"
|
207
|
-
type: :development
|
208
|
-
version_requirements: *id013
|
209
195
|
- !ruby/object:Gem::Dependency
|
210
196
|
name: capybara
|
211
197
|
prerelease: false
|
212
|
-
requirement: &
|
198
|
+
requirement: &id013 !ruby/object:Gem::Requirement
|
213
199
|
none: false
|
214
200
|
requirements:
|
215
201
|
- - ">="
|
@@ -221,8 +207,8 @@ dependencies:
|
|
221
207
|
- 0
|
222
208
|
version: 0.4.0
|
223
209
|
type: :development
|
224
|
-
version_requirements: *
|
225
|
-
description: A
|
210
|
+
version_requirements: *id013
|
211
|
+
description: A Rails engine which receives logs and provides an interface for them
|
226
212
|
email:
|
227
213
|
executables: []
|
228
214
|
|
@@ -309,7 +295,7 @@ files:
|
|
309
295
|
- Gemfile
|
310
296
|
- README.asciidoc
|
311
297
|
has_rdoc: true
|
312
|
-
homepage:
|
298
|
+
homepage: http://www.whoopsapp.com
|
313
299
|
licenses: []
|
314
300
|
|
315
301
|
post_install_message:
|
@@ -341,6 +327,6 @@ rubyforge_project:
|
|
341
327
|
rubygems_version: 1.3.7
|
342
328
|
signing_key:
|
343
329
|
specification_version: 3
|
344
|
-
summary: A
|
330
|
+
summary: A Rails engine which receives logs and provides an interface for them
|
345
331
|
test_files: []
|
346
332
|
|