errbase 0.1.0 → 0.1.1

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
- SHA1:
3
- metadata.gz: 96d03ceb36a030a5a1e59f99578815f39f09e97a
4
- data.tar.gz: 5f7fb72f40b262362f3e567c809041d8b43b66b6
2
+ SHA256:
3
+ metadata.gz: 1dd63e31c3c64193f2b961f6ca6632bb1e36e3792e360fc83514755023ef4988
4
+ data.tar.gz: 139defc7735d3ed5d9f5902cb862b237981c5a061dc0b100ce9b8ad63bc3e1cb
5
5
  SHA512:
6
- metadata.gz: 865b7b4fa8c159e9a365b081da90f2c4a6ecfccf725991ce14d0fa856ee5899f2a9deecbff5e2f88ee2f276e082cf0458c2000baa51e99afece96a76c97ab742
7
- data.tar.gz: 3c082679a53f1294fa6717d62d68f871ecd3080113eaa6c327c078e1417b2d95d9549319cba958e091e60dee542d036275fa18b861f21de7ffaaa8c489420fe3
6
+ metadata.gz: 90468a7788d05ac1320c819ed70cb09b67d3b27efdfadeb846bf7292348e317f23778e8e1665f4b06b14fccabdb0a462648248e3579db40dbbca8890f5ece256
7
+ data.tar.gz: 388bd6e297e9704d71f8ec0b7ecff86a5c10f89c60458f5c4c3217a7117ad04bcf4aaeda2284f0594d50a360b90e18ce4c4697c8bcb3036600dd5602c1e58d81
data/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ ## 0.1.1
2
+
3
+ - Added support for passing extra context
4
+ - Added New Relic
5
+
1
6
  ## 0.1.0
2
7
 
3
8
  - Rescue exceptions during reporting
data/README.md CHANGED
@@ -7,7 +7,6 @@ Libraries are automatically detected. Supports:
7
7
  - [Airbrake](https://airbrake.io/)
8
8
  - [Appsignal](https://appsignal.com/)
9
9
  - [Bugsnag](https://bugsnag.com/)
10
- - [Exceptional](http://www.exceptional.io/)
11
10
  - [Exception Notification](https://github.com/smartinez87/exception_notification)
12
11
  - [Google Stackdriver](https://cloud.google.com/stackdriver/)
13
12
  - [Honeybadger](https://www.honeybadger.io/)
@@ -15,6 +14,7 @@ Libraries are automatically detected. Supports:
15
14
  - [Raygun](https://raygun.io/)
16
15
  - [Rollbar](https://rollbar.com/)
17
16
  - [Sentry](https://getsentry.com/)
17
+ - [New Relic](https://newrelic.com/)
18
18
 
19
19
  ```ruby
20
20
  begin
@@ -24,6 +24,12 @@ rescue => e
24
24
  end
25
25
  ```
26
26
 
27
+ You can add extra context with:
28
+
29
+ ```ruby
30
+ Errbase.report(e, {username: "hello"})
31
+ ```
32
+
27
33
  ## Installation
28
34
 
29
35
  Errbase is designed to be used as a dependency.
@@ -34,11 +40,6 @@ Add this line to your gemspec:
34
40
  spec.add_dependency "errbase"
35
41
  ```
36
42
 
37
- ## TODO
38
-
39
- - Ability to specify services
40
- - Support for more services
41
-
42
43
  ## Contributing
43
44
 
44
45
  Everyone is encouraged to help improve this project. Here are a few ways you can help:
data/errbase.gemspec CHANGED
@@ -33,4 +33,5 @@ Gem::Specification.new do |spec|
33
33
  spec.add_development_dependency "opbeat"
34
34
  spec.add_development_dependency "exception_notification"
35
35
  spec.add_development_dependency "google-cloud-error_reporting"
36
+ spec.add_development_dependency "newrelic_rpm"
36
37
  end
@@ -1,3 +1,3 @@
1
1
  module Errbase
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
data/lib/errbase.rb CHANGED
@@ -2,15 +2,31 @@ require "errbase/version"
2
2
 
3
3
  module Errbase
4
4
  class << self
5
- def report(e)
6
- Rollbar.error(e) if defined?(Rollbar)
7
- Airbrake.notify(e) if defined?(Airbrake)
8
- Honeybadger.notify(e) if defined?(Honeybadger)
5
+ def report(e, info = {})
6
+ Airbrake.notify(e, info) if defined?(Airbrake)
7
+
8
+ Appsignal.send_error(e, info) if defined?(Appsignal)
9
+
10
+ if defined?(Bugsnag)
11
+ Bugsnag.notify(e) do |report|
12
+ report.add_tab(:info, info) if info.any?
13
+ end
14
+ end
15
+
16
+ ExceptionNotifier.notify_exception(e, data: info) if defined?(ExceptionNotifier)
17
+
18
+ # TODO remove in next version
19
+ # don't worry about adding info
9
20
  Exceptional.handle(e) if defined?(Exceptional)
10
- Raygun.track_exception(e) if defined?(Raygun)
11
- Raven.capture_exception(e) if defined?(Raven)
12
- Bugsnag.notify(e) if defined?(Bugsnag)
13
- Appsignal.send_exception(e) if defined?(Appsignal)
21
+
22
+ NewRelic::Agent.notice_error(e) if defined?(NewRelic::Agent)
23
+
24
+ Honeybadger.notify(e, context: info) if defined?(Honeybadger)
25
+
26
+ # TODO add info
27
+ Google::Cloud::ErrorReporting.report(e) if defined?(Google::Cloud::ErrorReporting)
28
+
29
+ # TODO add info
14
30
  if defined?(Opbeat)
15
31
  if Opbeat.respond_to?(:report)
16
32
  Opbeat.report(e)
@@ -18,8 +34,12 @@ module Errbase
18
34
  Opbeat.capture_exception(e)
19
35
  end
20
36
  end
21
- ExceptionNotifier.notify_exception(e) if defined?(ExceptionNotifier)
22
- Google::Cloud::ErrorReporting.report(e) if defined?(Google::Cloud::ErrorReporting)
37
+
38
+ Raven.capture_exception(e, extra: info) if defined?(Raven)
39
+
40
+ Raygun.track_exception(e, custom_data: info) if defined?(Raygun)
41
+
42
+ Rollbar.error(e, info) if defined?(Rollbar)
23
43
  rescue => e
24
44
  $stderr.puts "[errbase] Error reporting exception: #{e.class.name}: #{e.message}"
25
45
  end
data/test/test_helper.rb CHANGED
@@ -12,4 +12,5 @@ require "bugsnag"
12
12
  require "appsignal"
13
13
  require "opbeat"
14
14
  require "exception_notification"
15
+ require "newrelic_rpm"
15
16
  # require "google/cloud/error_reporting" # raises exception when not configured
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: errbase
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Kane
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-02-27 00:00:00.000000000 Z
11
+ date: 2018-09-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -206,6 +206,20 @@ dependencies:
206
206
  - - ">="
207
207
  - !ruby/object:Gem::Version
208
208
  version: '0'
209
+ - !ruby/object:Gem::Dependency
210
+ name: newrelic_rpm
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - ">="
214
+ - !ruby/object:Gem::Version
215
+ version: '0'
216
+ type: :development
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: '0'
209
223
  description: Common exception reporting for a variety of services
210
224
  email:
211
225
  - andrew@chartkick.com
@@ -244,7 +258,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
244
258
  version: '0'
245
259
  requirements: []
246
260
  rubyforge_project:
247
- rubygems_version: 2.6.13
261
+ rubygems_version: 2.7.7
248
262
  signing_key:
249
263
  specification_version: 4
250
264
  summary: Common exception reporting for a variety of services