honeybadger 1.6.2 → 1.7.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.
data/CHANGELOG.md CHANGED
@@ -1,4 +1,12 @@
1
- ## Honeybadger 1.7.0 (Unreleased) ##
1
+ ## Honeybadger 1.7.0 ##
2
+
3
+ * Added a custom grouping option
4
+
5
+ *Joshua Wood*
6
+
7
+ * Added option to run capistrano deploy notification asynchronously
8
+
9
+ *Sergey Efremov*
2
10
 
3
11
  ## Honeybadger 1.6.2 ##
4
12
 
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- honeybadger (1.6.2)
4
+ honeybadger (1.7.0)
5
5
  json
6
6
 
7
7
  GEM
@@ -52,7 +52,7 @@ GEM
52
52
  net-ssh-gateway (1.1.0)
53
53
  net-ssh (>= 1.99.1)
54
54
  rack (1.1.3)
55
- rake (10.0.3)
55
+ rake (10.0.4)
56
56
  rspec (2.12.0)
57
57
  rspec-core (~> 2.12.0)
58
58
  rspec-expectations (~> 2.12.0)
data/README.md CHANGED
@@ -191,6 +191,44 @@ request's life cycle. Honeybadger will discard the data when a
191
191
  request completes, so that the next request will start with a blank
192
192
  slate.
193
193
 
194
+ ## Custom error grouping
195
+
196
+ By default, we group errors in two ways:
197
+
198
+ 1. "Strict" grouping generates a fingerprint using a hash of the error
199
+ class, component (if available), and the entire backtrace. When the
200
+ backtrace changes, a new error is created by Honeybadger.
201
+ 2. "Loose" grouping uses the error class, component (if available), and
202
+ the application trace.
203
+
204
+ You can choose to use strict or loose grouping from your Honeybadger
205
+ project settings page. If you want to use your own grouping strategy,
206
+ you can, using the `fingerprint` configuration option. When configured,
207
+ a custom fingerprint will be sent with each error notification, and
208
+ we'll use that for grouping errors instead of the default:
209
+
210
+ Honeybadger.configure do |config|
211
+ ...
212
+
213
+ # See lib/honeybadger/notice.rb for the options that are available
214
+ # on the notice object
215
+ config.fingerprint do |notice|
216
+ [notice[:error_class], notice[:component], notice[:backtrace].to_s].join(':')
217
+ end
218
+
219
+ end
220
+
221
+ You can also pass the fingerprint as a string when notifying Honeybadger
222
+ directly:
223
+
224
+ Honeybadger.notify(StandardError.new('oh noes!'), :fingerprint => 'asdf')
225
+
226
+ The fingerprint can be any Ruby object that responds to #to_s, and will
227
+ be sent to Honeybadger as a SHA1 hash.
228
+
229
+ *Please note that to make use of this option, you must have **strict**
230
+ grouping disabled on your project settings page.*
231
+
194
232
  ## Tracking deploys
195
233
 
196
234
  Honeybadger has an API to keep track of project deployments. Whenever
@@ -222,9 +260,17 @@ can set the `:honeybadger_deploy_task` in your *config/deploy.rb* file:
222
260
  set :honeybadger_deploy_task, 'honeybadger:deploy_with_environment'
223
261
  ```
224
262
 
263
+ You can run deploy notification task asynchronously.
264
+ Just add `:honeybadger_async_notify` in your *config/deploy.rb* file:
265
+
266
+ ```ruby
267
+ set :honeybadger_async_notify, true
268
+ ````
269
+
225
270
  If you would prefer to notify Honeybadger locally without using rake,
226
271
  check out our blog post: [Honeybadger and Capistrano: the metal way](http://honeybadger.io/blog/2012/10/06/honeybadger-and-capistrano/).
227
272
 
273
+
228
274
  ### Heroku
229
275
 
230
276
  Deploy tracking via Heroku is implemented using Heroku's free [deploy
@@ -7,54 +7,51 @@ PATH
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- appraisal (0.5.1)
10
+ appraisal (0.5.2)
11
11
  bundler
12
12
  rake
13
- aruba (0.5.1)
14
- childprocess (~> 0.3.6)
13
+ aruba (0.5.3)
14
+ childprocess (>= 0.3.6)
15
15
  cucumber (>= 1.1.1)
16
16
  rspec-expectations (>= 2.7.0)
17
- bourne (1.3.0)
18
- mocha (= 0.13.0)
17
+ bourne (1.4.0)
18
+ mocha (~> 0.13.2)
19
19
  builder (3.1.4)
20
- capistrano (2.14.1)
20
+ capistrano (2.15.4)
21
21
  highline
22
22
  net-scp (>= 1.0.0)
23
23
  net-sftp (>= 2.0.0)
24
24
  net-ssh (>= 2.0.14)
25
25
  net-ssh-gateway (>= 1.1.0)
26
- childprocess (0.3.6)
27
- ffi (~> 1.0, >= 1.0.6)
28
- cucumber (1.2.1)
26
+ childprocess (0.3.9)
27
+ ffi (~> 1.0, >= 1.0.11)
28
+ cucumber (1.2.5)
29
29
  builder (>= 2.1.2)
30
30
  diff-lcs (>= 1.1.3)
31
- gherkin (~> 2.11.0)
32
- json (>= 1.4.6)
31
+ gherkin (~> 2.11.7)
32
+ multi_json (~> 1.3)
33
33
  diff-lcs (1.1.3)
34
34
  fakeweb (1.3.0)
35
- ffi (1.3.1)
36
- ffi (1.3.1-java)
37
- gherkin (2.11.5)
38
- json (>= 1.4.6)
39
- gherkin (2.11.5-java)
40
- json (>= 1.4.6)
41
- highline (1.6.15)
42
- json (1.7.6)
43
- json (1.7.6-java)
35
+ ffi (1.8.1)
36
+ gherkin (2.11.8)
37
+ multi_json (~> 1.3)
38
+ highline (1.6.19)
39
+ json (1.8.0)
44
40
  metaclass (0.0.1)
45
- mocha (0.13.0)
41
+ mocha (0.13.3)
46
42
  metaclass (~> 0.0.1)
47
- net-scp (1.0.4)
48
- net-ssh (>= 1.99.1)
49
- net-sftp (2.0.5)
50
- net-ssh (>= 2.0.9)
51
- net-ssh (2.6.3)
52
- net-ssh-gateway (1.1.0)
53
- net-ssh (>= 1.99.1)
54
- rack (1.4.4)
55
- rack-protection (1.3.2)
43
+ multi_json (1.7.6)
44
+ net-scp (1.1.1)
45
+ net-ssh (>= 2.6.5)
46
+ net-sftp (2.1.2)
47
+ net-ssh (>= 2.6.5)
48
+ net-ssh (2.6.7)
49
+ net-ssh-gateway (1.2.0)
50
+ net-ssh (>= 2.6.5)
51
+ rack (1.5.2)
52
+ rack-protection (1.5.0)
56
53
  rack
57
- rake (10.0.3)
54
+ rake (10.0.4)
58
55
  rspec (2.12.0)
59
56
  rspec-core (~> 2.12.0)
60
57
  rspec-expectations (~> 2.12.0)
@@ -62,18 +59,17 @@ GEM
62
59
  rspec-core (2.12.2)
63
60
  rspec-expectations (2.12.1)
64
61
  diff-lcs (~> 1.1.3)
65
- rspec-mocks (2.12.1)
66
- sham_rack (1.3.4)
62
+ rspec-mocks (2.12.2)
63
+ sham_rack (1.3.6)
67
64
  rack
68
65
  shoulda (2.11.3)
69
- sinatra (1.3.3)
70
- rack (~> 1.3, >= 1.3.6)
71
- rack-protection (~> 1.2)
66
+ sinatra (1.3.5)
67
+ rack (~> 1.4)
68
+ rack-protection (~> 1.3)
72
69
  tilt (~> 1.3, >= 1.3.3)
73
- tilt (1.3.3)
70
+ tilt (1.4.1)
74
71
 
75
72
  PLATFORMS
76
- java
77
73
  ruby
78
74
 
79
75
  DEPENDENCIES
@@ -24,43 +24,40 @@ GEM
24
24
  childprocess (~> 0.3.6)
25
25
  cucumber (>= 1.1.1)
26
26
  rspec-expectations (>= 2.7.0)
27
- bourne (1.1.2)
28
- mocha (= 0.10.5)
27
+ bourne (1.4.0)
28
+ mocha (~> 0.13.2)
29
29
  builder (3.1.4)
30
- capistrano (2.13.5)
30
+ capistrano (2.14.2)
31
31
  highline
32
32
  net-scp (>= 1.0.0)
33
33
  net-sftp (>= 2.0.0)
34
34
  net-ssh (>= 2.0.14)
35
35
  net-ssh-gateway (>= 1.1.0)
36
- childprocess (0.3.6)
37
- ffi (~> 1.0, >= 1.0.6)
38
- cucumber (1.2.1)
36
+ childprocess (0.3.9)
37
+ ffi (~> 1.0, >= 1.0.11)
38
+ cucumber (1.2.3)
39
39
  builder (>= 2.1.2)
40
40
  diff-lcs (>= 1.1.3)
41
- gherkin (~> 2.11.0)
42
- json (>= 1.4.6)
41
+ gherkin (~> 2.11.6)
42
+ multi_json (~> 1.3)
43
43
  diff-lcs (1.1.3)
44
44
  fakeweb (1.3.0)
45
- ffi (1.2.0)
46
- ffi (1.2.0-java)
47
- gherkin (2.11.5)
48
- json (>= 1.4.6)
49
- gherkin (2.11.5-java)
50
- json (>= 1.4.6)
51
- highline (1.6.15)
52
- json (1.7.5)
53
- json (1.7.5-java)
45
+ ffi (1.8.1)
46
+ gherkin (2.11.6)
47
+ json (>= 1.7.6)
48
+ highline (1.6.18)
49
+ json (1.8.0)
54
50
  metaclass (0.0.1)
55
- mocha (0.10.5)
51
+ mocha (0.13.3)
56
52
  metaclass (~> 0.0.1)
57
- net-scp (1.0.4)
58
- net-ssh (>= 1.99.1)
59
- net-sftp (2.0.5)
60
- net-ssh (>= 2.0.9)
61
- net-ssh (2.6.2)
62
- net-ssh-gateway (1.1.0)
63
- net-ssh (>= 1.99.1)
53
+ multi_json (1.7.6)
54
+ net-scp (1.1.1)
55
+ net-ssh (>= 2.6.5)
56
+ net-sftp (2.1.1)
57
+ net-ssh (>= 2.6.5)
58
+ net-ssh (2.6.7)
59
+ net-ssh-gateway (1.2.0)
60
+ net-ssh (>= 2.6.5)
64
61
  rack (1.1.3)
65
62
  rails (2.3.14)
66
63
  actionmailer (= 2.3.14)
@@ -74,20 +71,19 @@ GEM
74
71
  rspec-core (~> 2.12.0)
75
72
  rspec-expectations (~> 2.12.0)
76
73
  rspec-mocks (~> 2.12.0)
77
- rspec-core (2.12.0)
78
- rspec-expectations (2.12.0)
74
+ rspec-core (2.12.2)
75
+ rspec-expectations (2.12.1)
79
76
  diff-lcs (~> 1.1.3)
80
- rspec-mocks (2.12.0)
77
+ rspec-mocks (2.12.2)
81
78
  sham_rack (1.3.4)
82
79
  rack
83
80
  shoulda (2.11.3)
84
81
  sinatra (1.2.8)
85
82
  rack (~> 1.1)
86
83
  tilt (>= 1.2.2, < 2.0)
87
- tilt (1.3.3)
84
+ tilt (1.4.1)
88
85
 
89
86
  PLATFORMS
90
- java
91
87
  ruby
92
88
 
93
89
  DEPENDENCIES
@@ -34,66 +34,64 @@ GEM
34
34
  activemodel (= 3.0.17)
35
35
  activesupport (= 3.0.17)
36
36
  activesupport (3.0.17)
37
- appraisal (0.5.1)
37
+ appraisal (0.5.2)
38
38
  bundler
39
39
  rake
40
40
  arel (2.0.10)
41
- aruba (0.5.1)
42
- childprocess (~> 0.3.6)
41
+ aruba (0.5.3)
42
+ childprocess (>= 0.3.6)
43
43
  cucumber (>= 1.1.1)
44
44
  rspec-expectations (>= 2.7.0)
45
- better_errors (0.5.0)
45
+ backports (3.3.1)
46
+ better_errors (0.9.0)
46
47
  coderay (>= 1.0.0)
47
48
  erubis (>= 2.6.6)
48
- bourne (1.1.2)
49
- mocha (= 0.10.5)
49
+ bourne (1.4.0)
50
+ mocha (~> 0.13.2)
50
51
  builder (2.1.2)
51
- capistrano (2.13.5)
52
+ capistrano (2.15.4)
52
53
  highline
53
54
  net-scp (>= 1.0.0)
54
55
  net-sftp (>= 2.0.0)
55
56
  net-ssh (>= 2.0.14)
56
57
  net-ssh-gateway (>= 1.1.0)
57
- childprocess (0.3.6)
58
- ffi (~> 1.0, >= 1.0.6)
59
- coderay (1.0.8)
60
- cucumber (1.2.1)
58
+ childprocess (0.3.9)
59
+ ffi (~> 1.0, >= 1.0.11)
60
+ coderay (1.0.9)
61
+ cucumber (1.2.5)
61
62
  builder (>= 2.1.2)
62
63
  diff-lcs (>= 1.1.3)
63
- gherkin (~> 2.11.0)
64
- json (>= 1.4.6)
64
+ gherkin (~> 2.11.7)
65
+ multi_json (~> 1.3)
65
66
  diff-lcs (1.1.3)
66
67
  erubis (2.6.6)
67
68
  abstract (>= 1.0.0)
68
69
  fakeweb (1.3.0)
69
- ffi (1.2.0)
70
- ffi (1.2.0-java)
71
- gherkin (2.11.5)
72
- json (>= 1.4.6)
73
- gherkin (2.11.5-java)
74
- json (>= 1.4.6)
75
- highline (1.6.15)
70
+ ffi (1.8.1)
71
+ gherkin (2.11.8)
72
+ multi_json (~> 1.3)
73
+ highline (1.6.19)
76
74
  i18n (0.5.0)
77
- json (1.7.5)
78
- json (1.7.5-java)
79
- mail (2.2.19)
75
+ json (1.8.0)
76
+ mail (2.2.20)
80
77
  activesupport (>= 2.3.6)
81
78
  i18n (>= 0.4.0)
82
79
  mime-types (~> 1.16)
83
80
  treetop (~> 1.4.8)
84
81
  metaclass (0.0.1)
85
- mime-types (1.19)
86
- mocha (0.10.5)
82
+ mime-types (1.23)
83
+ mocha (0.13.3)
87
84
  metaclass (~> 0.0.1)
88
- net-scp (1.0.4)
89
- net-ssh (>= 1.99.1)
90
- net-sftp (2.0.5)
91
- net-ssh (>= 2.0.9)
92
- net-ssh (2.6.2)
93
- net-ssh-gateway (1.1.0)
94
- net-ssh (>= 1.99.1)
85
+ multi_json (1.7.6)
86
+ net-scp (1.1.1)
87
+ net-ssh (>= 2.6.5)
88
+ net-sftp (2.1.2)
89
+ net-ssh (>= 2.6.5)
90
+ net-ssh (2.6.7)
91
+ net-ssh-gateway (1.2.0)
92
+ net-ssh (>= 2.6.5)
95
93
  polyglot (0.3.3)
96
- rack (1.2.5)
94
+ rack (1.2.8)
97
95
  rack-mount (0.6.14)
98
96
  rack (>= 1.0.0)
99
97
  rack-test (0.5.7)
@@ -112,30 +110,32 @@ GEM
112
110
  rake (>= 0.8.7)
113
111
  rdoc (~> 3.4)
114
112
  thor (~> 0.14.4)
115
- rake (10.0.2)
116
- rdoc (3.12)
113
+ rake (10.0.4)
114
+ rdoc (3.12.2)
117
115
  json (~> 1.4)
118
116
  rspec (2.12.0)
119
117
  rspec-core (~> 2.12.0)
120
118
  rspec-expectations (~> 2.12.0)
121
119
  rspec-mocks (~> 2.12.0)
122
- rspec-core (2.12.0)
123
- rspec-expectations (2.12.0)
120
+ rspec-core (2.12.2)
121
+ rspec-expectations (2.12.1)
124
122
  diff-lcs (~> 1.1.3)
125
- rspec-mocks (2.12.0)
126
- sham_rack (1.3.4)
123
+ rspec-mocks (2.12.2)
124
+ sham_rack (1.3.6)
127
125
  rack
128
126
  shoulda (2.11.3)
129
- sinatra (1.0)
130
- rack (>= 1.0)
127
+ sinatra (1.2.9)
128
+ backports
129
+ rack (~> 1.1, < 1.5)
130
+ tilt (>= 1.2.2, < 2.0)
131
131
  thor (0.14.6)
132
- treetop (1.4.12)
132
+ tilt (1.4.1)
133
+ treetop (1.4.14)
133
134
  polyglot
134
135
  polyglot (>= 0.3.1)
135
- tzinfo (0.3.35)
136
+ tzinfo (0.3.37)
136
137
 
137
138
  PLATFORMS
138
- java
139
139
  ruby
140
140
 
141
141
  DEPENDENCIES
@@ -35,29 +35,29 @@ GEM
35
35
  activesupport (= 3.1.8)
36
36
  activesupport (3.1.8)
37
37
  multi_json (>= 1.0, < 1.3)
38
- appraisal (0.5.1)
38
+ appraisal (0.5.2)
39
39
  bundler
40
40
  rake
41
41
  arel (2.2.3)
42
- aruba (0.5.1)
43
- childprocess (~> 0.3.6)
42
+ aruba (0.5.3)
43
+ childprocess (>= 0.3.6)
44
44
  cucumber (>= 1.1.1)
45
45
  rspec-expectations (>= 2.7.0)
46
- better_errors (0.5.0)
46
+ better_errors (0.9.0)
47
47
  coderay (>= 1.0.0)
48
48
  erubis (>= 2.6.6)
49
- bourne (1.1.2)
50
- mocha (= 0.10.5)
49
+ bourne (1.4.0)
50
+ mocha (~> 0.13.2)
51
51
  builder (3.0.4)
52
- capistrano (2.13.5)
52
+ capistrano (2.15.4)
53
53
  highline
54
54
  net-scp (>= 1.0.0)
55
55
  net-sftp (>= 2.0.0)
56
56
  net-ssh (>= 2.0.14)
57
57
  net-ssh-gateway (>= 1.1.0)
58
- childprocess (0.3.6)
59
- ffi (~> 1.0, >= 1.0.6)
60
- coderay (1.0.8)
58
+ childprocess (0.3.9)
59
+ ffi (~> 1.0, >= 1.0.11)
60
+ coderay (1.0.9)
61
61
  cucumber (1.2.1)
62
62
  builder (>= 2.1.2)
63
63
  diff-lcs (>= 1.1.3)
@@ -66,42 +66,38 @@ GEM
66
66
  diff-lcs (1.1.3)
67
67
  erubis (2.7.0)
68
68
  fakeweb (1.3.0)
69
- ffi (1.2.0)
70
- ffi (1.2.0-java)
71
- gherkin (2.11.5)
72
- json (>= 1.4.6)
73
- gherkin (2.11.5-java)
74
- json (>= 1.4.6)
75
- highline (1.6.15)
76
- hike (1.2.1)
77
- i18n (0.6.1)
78
- json (1.7.5)
79
- json (1.7.5-java)
69
+ ffi (1.8.1)
70
+ gherkin (2.11.6)
71
+ json (>= 1.7.6)
72
+ highline (1.6.19)
73
+ hike (1.2.3)
74
+ i18n (0.6.4)
75
+ json (1.8.0)
80
76
  mail (2.3.3)
81
77
  i18n (>= 0.4.0)
82
78
  mime-types (~> 1.16)
83
79
  treetop (~> 1.4.8)
84
80
  metaclass (0.0.1)
85
- mime-types (1.19)
86
- mocha (0.10.5)
81
+ mime-types (1.23)
82
+ mocha (0.13.3)
87
83
  metaclass (~> 0.0.1)
88
84
  multi_json (1.2.0)
89
- net-scp (1.0.4)
90
- net-ssh (>= 1.99.1)
91
- net-sftp (2.0.5)
92
- net-ssh (>= 2.0.9)
93
- net-ssh (2.6.2)
94
- net-ssh-gateway (1.1.0)
95
- net-ssh (>= 1.99.1)
85
+ net-scp (1.1.1)
86
+ net-ssh (>= 2.6.5)
87
+ net-sftp (2.1.2)
88
+ net-ssh (>= 2.6.5)
89
+ net-ssh (2.6.7)
90
+ net-ssh-gateway (1.2.0)
91
+ net-ssh (>= 2.6.5)
96
92
  polyglot (0.3.3)
97
93
  rack (1.3.6)
98
94
  rack-cache (1.2)
99
95
  rack (>= 0.4)
100
96
  rack-mount (0.8.3)
101
97
  rack (>= 1.0.0)
102
- rack-protection (1.2.0)
98
+ rack-protection (1.5.0)
103
99
  rack
104
- rack-ssl (1.3.2)
100
+ rack-ssl (1.3.3)
105
101
  rack
106
102
  rack-test (0.6.2)
107
103
  rack (>= 1.0)
@@ -120,21 +116,21 @@ GEM
120
116
  rake (>= 0.8.7)
121
117
  rdoc (~> 3.4)
122
118
  thor (~> 0.14.6)
123
- rake (10.0.2)
124
- rdoc (3.12)
119
+ rake (10.0.4)
120
+ rdoc (3.12.2)
125
121
  json (~> 1.4)
126
122
  rspec (2.12.0)
127
123
  rspec-core (~> 2.12.0)
128
124
  rspec-expectations (~> 2.12.0)
129
125
  rspec-mocks (~> 2.12.0)
130
- rspec-core (2.12.0)
131
- rspec-expectations (2.12.0)
126
+ rspec-core (2.12.2)
127
+ rspec-expectations (2.12.1)
132
128
  diff-lcs (~> 1.1.3)
133
- rspec-mocks (2.12.0)
134
- sham_rack (1.3.4)
129
+ rspec-mocks (2.12.2)
130
+ sham_rack (1.3.6)
135
131
  rack
136
132
  shoulda (2.11.3)
137
- sinatra (1.3.2)
133
+ sinatra (1.3.3)
138
134
  rack (~> 1.3, >= 1.3.6)
139
135
  rack-protection (~> 1.2)
140
136
  tilt (~> 1.3, >= 1.3.3)
@@ -143,14 +139,13 @@ GEM
143
139
  rack (~> 1.0)
144
140
  tilt (~> 1.1, != 1.3.0)
145
141
  thor (0.14.6)
146
- tilt (1.3.3)
147
- treetop (1.4.12)
142
+ tilt (1.4.1)
143
+ treetop (1.4.14)
148
144
  polyglot
149
145
  polyglot (>= 0.3.1)
150
- tzinfo (0.3.35)
146
+ tzinfo (0.3.37)
151
147
 
152
148
  PLATFORMS
153
- java
154
149
  ruby
155
150
 
156
151
  DEPENDENCIES