denouncer 0.5.0 → 0.6.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0a617e06d207d307b00aef250f2761426e399bf3
4
- data.tar.gz: 042772019efda8ebba7cb648a8f9bbcb7a4f5e9a
3
+ metadata.gz: 9ebc092428d54475eaad29ef95ee9fdf9693c7a6
4
+ data.tar.gz: c99262d3fb6d92b93170ac1c0002a3989462f39e
5
5
  SHA512:
6
- metadata.gz: a98e7decc781c4e20672386e356dbcaea28549330adca3b0ea99498f067f11942a11641c97cf3820d2bd0d7216ac52091356bae2c593ec24f0dc4550923f383c
7
- data.tar.gz: 5f8a801e34736502d7e282744aa72110ce0e9cf97addd445831fbcd6e3094d515516ed7ecba706eb04c6b312c28ecc8dd84ab4a5a42dd157be4bd95d09ce663c
6
+ metadata.gz: d5d058c86ad2e9f8a8145deec9607538a88d081eb178ce1a87339d4f233c7c8511bce942aba2c487b21676dd07973e23270250d3891c0687e97af2eae2f39f6a
7
+ data.tar.gz: 1bff9e47c7b2efd3363d747f167589ae6cdf2c93c9c8e9736a8e1beb4d1e5353c8f4ccb96a5cfb1491cbba220645eae348f628ecb203d06ed840a53c34da10fa
data/README.md CHANGED
@@ -141,6 +141,26 @@ Honeybadger is automatically configured using environment variables (e.g. HONEYB
141
141
  notifier: :honeybadger
142
142
  )
143
143
 
144
+ #### AirbrakeNotifier
145
+
146
+ For more information on airbrake please refer to their [github repo](https://github.com/airbrake/airbrake).
147
+
148
+ #### !!!ATTENTION
149
+
150
+ The airbrake gem is required for the AirbrakeNotifier. Please add the gem to your Gemfile as follows:
151
+
152
+ gem 'airbrake'
153
+
154
+
155
+ ##### Airbrake Usage
156
+
157
+ require 'denouncer'
158
+
159
+ Denouncer.configure(
160
+ application_name: "my_app",
161
+ notifier: :airbrake,
162
+ api_key: 'my_key'
163
+ )
144
164
 
145
165
  #### Multiple notifier configuration
146
166
 
@@ -210,3 +230,20 @@ The metadata is optional and defaults to nil.
210
230
  3. Commit your changes (`git commit -am 'Add some feature'`)
211
231
  4. Push to the branch (`git push origin my-new-feature`)
212
232
  5. Create a new Pull Request
233
+
234
+ ## How to add a new notfier?
235
+
236
+ # Copy the console notifier as base
237
+ cp lib/denouncer/notifiers/console_notifier.rb lib/denouncer/notifiers/<name>_notifier.rb
238
+
239
+ # add your notifier to the module
240
+ vim lib/denouncer/notifiers.rb
241
+
242
+ # adjust the notifier as needed
243
+ # implement name, set_configuration! and notify methods
244
+ vim lib/denouncer/notifiers/<name>_notifier.rb
245
+
246
+ # add a section for the notifier to the documentation
247
+ vim README.md
248
+
249
+ # follow the instructions above (Contributing)
@@ -28,4 +28,5 @@ Gem::Specification.new do |spec|
28
28
  spec.add_development_dependency "bunny"
29
29
  spec.add_development_dependency "honeybadger"
30
30
  spec.add_development_dependency "rack"
31
+ spec.add_development_dependency "airbrake"
31
32
  end
@@ -5,5 +5,6 @@ module Denouncer
5
5
  autoload :SmtpNotifier, File.expand_path('../notifiers/smtp_notifier', __FILE__)
6
6
  autoload :AmqpNotifier, File.expand_path('../notifiers/amqp_notifier', __FILE__)
7
7
  autoload :HoneybadgerNotifier, File.expand_path('../notifiers/honeybadger_notifier', __FILE__)
8
+ autoload :AirbrakeNotifier, File.expand_path('../notifiers/airbrake_notifier', __FILE__)
8
9
  end
9
10
  end
@@ -0,0 +1,35 @@
1
+ require 'socket'
2
+ require 'json'
3
+
4
+ module Denouncer
5
+ module Notifiers
6
+ class AirbrakeNotifier < BaseNotifier
7
+
8
+ # @return [String]
9
+ def name
10
+ 'airbrake'
11
+ end
12
+
13
+ def set_configuration!(options)
14
+ raise "Airbrake configuration error: :api_key is nil!" if options[:api_key].nil?
15
+ require 'airbrake'
16
+ Airbrake.configure do |config|
17
+ config.api_key = options[:api_key]
18
+ end
19
+ return options
20
+ end
21
+
22
+ # Sends an error notification via amqp.
23
+ #
24
+ # @param error [StandardError]
25
+ # @param metadata [Hash]
26
+ def notify(error, metadata = nil)
27
+ Airbrake.notify(error,
28
+ api_key: config[:api_key],
29
+ error_message: error.message,
30
+ backtrace: error.backtrace
31
+ )
32
+ end
33
+ end
34
+ end
35
+ end
@@ -1,3 +1,3 @@
1
1
  module Denouncer
2
- VERSION = "0.5.0"
2
+ VERSION = "0.6.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: denouncer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Julian Weber
@@ -122,6 +122,20 @@ dependencies:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: airbrake
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
125
139
  description: Denouncer allows you to send notifications with error/exception details
126
140
  using a simple interface. New methods of sending error messages can be implemented
127
141
  using a pre-defined class interface. SMTP and AMQP notification are the first implemented
@@ -142,6 +156,7 @@ files:
142
156
  - denouncer.gemspec
143
157
  - lib/denouncer.rb
144
158
  - lib/denouncer/notifiers.rb
159
+ - lib/denouncer/notifiers/airbrake_notifier.rb
145
160
  - lib/denouncer/notifiers/amqp_notifier.rb
146
161
  - lib/denouncer/notifiers/base_notifier.rb
147
162
  - lib/denouncer/notifiers/console_notifier.rb