exception_gateway 0.2.2 → 0.2.3
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 +8 -8
- data/README.md +30 -2
- data/lib/exception_gateway/vendors/bugsnag.rb +5 -1
- data/lib/exception_gateway/version.rb +1 -1
- data/lib/exception_gateway.rb +5 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
MjZlMjllYTA4NjZiYmI1YTk1ODg1MTdhOWU2MDYwZWE1NmVjODVmNg==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
NzRlNTJlMjhjNDNjZWM5ZDc0YmU4MGFkZWRlYzNiMmJiNTAzODNkNQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
OTE4Y2RhYzNkMmVmY2Y5ZGM5YmY5NWUzYmYwNzEyMTYwNjU3MWIwZWM0YTQw
|
10
|
+
MjY0MTNhYTViNmIwMjUzMTdmODAwOGQwNTZhZDJjZGNjMDI3ZDVkY2QwYmJm
|
11
|
+
YjAwMTc4MjY3NmVhMzg2NmIzYzI5MzJhNDE0ZTFjZDI3ZDIwMmQ=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
ODQzZmRhYWViZWFiMmRlMTNiMzBlYTVjNDVkYjJlYjJjY2RmNmRlNjE0MTMy
|
14
|
+
MmU0ODcyYjg4NDA3NjkyNzFkMzMyYjE0YmNjYjQyMDM4Y2M2YmM2OGJkNDlk
|
15
|
+
YjdlMGJlMWUyMTcwZTdjODUwZGM1OTUzYTllYjQxZGI5YTBlM2E=
|
data/README.md
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
# ExceptionGateway
|
2
2
|
|
3
|
-
|
3
|
+
[](https://travis-ci.org/strikingly/exception_gateway)
|
4
|
+
|
5
|
+
A wrapper for error reporting services. Kind of like multi_json but for exception reporting vendors. Currently only bugsnag is supported.
|
4
6
|
|
5
7
|
## Installation
|
6
8
|
|
@@ -18,8 +20,34 @@ Or install it yourself as:
|
|
18
20
|
|
19
21
|
## Usage
|
20
22
|
|
21
|
-
|
23
|
+
### Configure the backend for error reporting, for example with bugsnag:
|
24
|
+
|
25
|
+
Bugsnag.configure do |config|
|
26
|
+
config.release_stage = ENV['RACK_ENV']
|
27
|
+
config.api_key = ENV['BUGSNAG_API_KEY']
|
28
|
+
end
|
29
|
+
|
30
|
+
### Configure exception_gateway to use the configured backend
|
31
|
+
|
32
|
+
ExceptionGateway.configure do |config|
|
33
|
+
config.backend = :bugsnag
|
34
|
+
end
|
35
|
+
|
36
|
+
### Use ExceptionGateway to report exception or erros:
|
37
|
+
|
38
|
+
ExceptionGateway.alert("Error!", :msg => "cannot connect to server")
|
39
|
+
|
40
|
+
begin
|
41
|
+
raise RuntimeError.new("stack overflow")
|
42
|
+
rescue Exception => e
|
43
|
+
ExceptionGateway.transmit(e)
|
44
|
+
raise
|
45
|
+
end
|
22
46
|
|
47
|
+
ExceptionGateway.time("roundtrip time") do
|
48
|
+
sleep 3
|
49
|
+
end
|
50
|
+
|
23
51
|
## Contributing
|
24
52
|
|
25
53
|
1. Fork it
|
@@ -1,7 +1,11 @@
|
|
1
1
|
module ExceptionGateway
|
2
2
|
module Vendors
|
3
3
|
def bugsnag_alert(msg, options={})
|
4
|
-
|
4
|
+
if ExceptionGateway.config.bugsnag_alert_api_key
|
5
|
+
Bugsnag.notify(RuntimeError.new(msg), {:details => options})
|
6
|
+
else
|
7
|
+
Bugsnag.notify(RuntimeError.new(msg), {:details => options}, api_key: ExceptionGateway.config.bugsnag_alert_api_key)
|
8
|
+
end
|
5
9
|
end
|
6
10
|
|
7
11
|
def bugsnag_transmit(exception)
|
data/lib/exception_gateway.rb
CHANGED
@@ -4,6 +4,7 @@ require "exception_gateway/vendors/bugsnag"
|
|
4
4
|
module ExceptionGateway
|
5
5
|
class Config
|
6
6
|
attr_accessor :backend
|
7
|
+
attr_accessor :bugsnag_alert_api_key # configure this to enable bugsnag to log into separate project for alerts
|
7
8
|
end
|
8
9
|
|
9
10
|
class Gateway
|
@@ -17,6 +18,10 @@ module ExceptionGateway
|
|
17
18
|
@@gateway = Gateway.new
|
18
19
|
end
|
19
20
|
|
21
|
+
def self.config
|
22
|
+
@@config
|
23
|
+
end
|
24
|
+
|
20
25
|
def self.alert(msg, options={})
|
21
26
|
method = "#{@@config.backend}_alert".to_s
|
22
27
|
@@gateway.send method, msg, options
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: exception_gateway
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Li Zhenchao
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-04-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -92,7 +92,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
92
92
|
version: '0'
|
93
93
|
requirements: []
|
94
94
|
rubyforge_project:
|
95
|
-
rubygems_version: 2.2.
|
95
|
+
rubygems_version: 2.2.2
|
96
96
|
signing_key:
|
97
97
|
specification_version: 4
|
98
98
|
summary: A wrapper for error reporting services, currently only bugsnag is supported
|