denouncer 0.4.0 → 0.5.0
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 +4 -4
- data/README.md +21 -0
- data/denouncer.gemspec +2 -0
- data/lib/denouncer.rb +4 -14
- data/lib/denouncer/notifiers.rb +1 -0
- data/lib/denouncer/notifiers/honeybadger_notifier.rb +33 -0
- data/lib/denouncer/version.rb +1 -1
- metadata +31 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0a617e06d207d307b00aef250f2761426e399bf3
|
4
|
+
data.tar.gz: 042772019efda8ebba7cb648a8f9bbcb7a4f5e9a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a98e7decc781c4e20672386e356dbcaea28549330adca3b0ea99498f067f11942a11641c97cf3820d2bd0d7216ac52091356bae2c593ec24f0dc4550923f383c
|
7
|
+
data.tar.gz: 5f8a801e34736502d7e282744aa72110ce0e9cf97addd445831fbcd6e3094d515516ed7ecba706eb04c6b312c28ecc8dd84ab4a5a42dd157be4bd95d09ce663c
|
data/README.md
CHANGED
@@ -121,6 +121,27 @@ Configuration variables are:
|
|
121
121
|
message_queue: "my_app.errors"
|
122
122
|
)
|
123
123
|
|
124
|
+
#### HoneybadgerNotifier
|
125
|
+
|
126
|
+
For more information on honeybadger please refer to their [github repo](https://github.com/honeybadger-io/honeybadger-ruby).
|
127
|
+
|
128
|
+
#### !!!ATTENTION
|
129
|
+
|
130
|
+
The honeybadger and rack gems are required for the HoneybadgerNotifier. Please add the gems to your Gemfile as follows:
|
131
|
+
|
132
|
+
gem 'honeybadger'
|
133
|
+
gem 'rack'
|
134
|
+
|
135
|
+
Honeybadger is automatically configured using environment variables (e.g. HONEYBADGER_API_KEY). For a more detailed documentation please have a look at [their instructions](http://docs.honeybadger.io/collection/7-getting-started).
|
136
|
+
|
137
|
+
require 'denouncer'
|
138
|
+
|
139
|
+
Denouncer.configure(
|
140
|
+
application_name: "my_app",
|
141
|
+
notifier: :honeybadger
|
142
|
+
)
|
143
|
+
|
144
|
+
|
124
145
|
#### Multiple notifier configuration
|
125
146
|
|
126
147
|
Since version 0.4.0 denouncer supports parallel usage of multiple notifiers.
|
data/denouncer.gemspec
CHANGED
data/lib/denouncer.rb
CHANGED
@@ -137,19 +137,9 @@ module Denouncer
|
|
137
137
|
end
|
138
138
|
|
139
139
|
def self.get_notifier_class(notifier_symbol)
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
notifier_class = ::Denouncer::Notifiers::SmtpNotifier
|
145
|
-
when :console then
|
146
|
-
notifier_class = ::Denouncer::Notifiers::ConsoleNotifier
|
147
|
-
when :amqp then
|
148
|
-
notifier_class = ::Denouncer::Notifiers::AmqpNotifier
|
149
|
-
else
|
150
|
-
raise "Invalid notifier configuration: #{options} is not a valid :notifier setting!"
|
151
|
-
end
|
152
|
-
|
153
|
-
return notifier_class
|
140
|
+
class_name = "::Denouncer::Notifiers::#{notifier_symbol.to_s.capitalize}Notifier"
|
141
|
+
Kernel.const_get(class_name)
|
142
|
+
rescue => err
|
143
|
+
raise "Invalid notifier configuration: #{notifier_symbol} is not a valid :notifier setting! Error: #{err.message} !"
|
154
144
|
end
|
155
145
|
end
|
data/lib/denouncer/notifiers.rb
CHANGED
@@ -4,5 +4,6 @@ module Denouncer
|
|
4
4
|
autoload :ConsoleNotifier, File.expand_path('../notifiers/console_notifier', __FILE__)
|
5
5
|
autoload :SmtpNotifier, File.expand_path('../notifiers/smtp_notifier', __FILE__)
|
6
6
|
autoload :AmqpNotifier, File.expand_path('../notifiers/amqp_notifier', __FILE__)
|
7
|
+
autoload :HoneybadgerNotifier, File.expand_path('../notifiers/honeybadger_notifier', __FILE__)
|
7
8
|
end
|
8
9
|
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'socket'
|
2
|
+
require 'json'
|
3
|
+
|
4
|
+
module Denouncer
|
5
|
+
module Notifiers
|
6
|
+
class HoneybadgerNotifier < BaseNotifier
|
7
|
+
|
8
|
+
# @return [String]
|
9
|
+
def name
|
10
|
+
'honeybadger'
|
11
|
+
end
|
12
|
+
|
13
|
+
def set_configuration!(options)
|
14
|
+
require 'honeybadger'
|
15
|
+
require 'rack/request'
|
16
|
+
Honeybadger.start
|
17
|
+
return options
|
18
|
+
end
|
19
|
+
|
20
|
+
# Sends an error notification via amqp.
|
21
|
+
#
|
22
|
+
# @param error [StandardError]
|
23
|
+
# @param metadata [Hash]
|
24
|
+
def notify(error, metadata = nil)
|
25
|
+
Honeybadger.notify(
|
26
|
+
error_class: error.class.name,
|
27
|
+
error_message: error.message,
|
28
|
+
parameters: metadata
|
29
|
+
)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
data/lib/denouncer/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: denouncer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Julian Weber
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-03-
|
11
|
+
date: 2015-03-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -94,6 +94,34 @@ dependencies:
|
|
94
94
|
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: honeybadger
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: rack
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
97
125
|
description: Denouncer allows you to send notifications with error/exception details
|
98
126
|
using a simple interface. New methods of sending error messages can be implemented
|
99
127
|
using a pre-defined class interface. SMTP and AMQP notification are the first implemented
|
@@ -117,6 +145,7 @@ files:
|
|
117
145
|
- lib/denouncer/notifiers/amqp_notifier.rb
|
118
146
|
- lib/denouncer/notifiers/base_notifier.rb
|
119
147
|
- lib/denouncer/notifiers/console_notifier.rb
|
148
|
+
- lib/denouncer/notifiers/honeybadger_notifier.rb
|
120
149
|
- lib/denouncer/notifiers/smtp_notifier.rb
|
121
150
|
- lib/denouncer/version.rb
|
122
151
|
- spec/lib/denouncer/denouncer_spec.rb
|