honeybadger 1.10.3 → 1.11.0.beta1

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.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/Appraisals +10 -0
  3. data/CHANGELOG.md +17 -10
  4. data/Gemfile.lock +1 -1
  5. data/features/rails.feature +6 -4
  6. data/features/step_definitions/rails_steps.rb +8 -0
  7. data/features/support/rails.rb +5 -0
  8. data/gemfiles/rack.gemfile.lock +1 -1
  9. data/gemfiles/rails2.3.gemfile.lock +1 -1
  10. data/gemfiles/rails3.0.gemfile.lock +1 -1
  11. data/gemfiles/rails3.1.gemfile.lock +1 -1
  12. data/gemfiles/rails3.2.gemfile.lock +1 -1
  13. data/gemfiles/rails4.gemfile.lock +1 -1
  14. data/gemfiles/rails4_cap3.gemfile +13 -0
  15. data/gemfiles/rails4_cap3.gemfile.lock +204 -0
  16. data/gemfiles/rake.gemfile.lock +1 -1
  17. data/gemfiles/sinatra.gemfile.lock +1 -1
  18. data/honeybadger.gemspec +7 -4
  19. data/lib/honeybadger.rb +14 -1
  20. data/lib/honeybadger/capistrano.rb +4 -45
  21. data/lib/honeybadger/capistrano/legacy.rb +45 -0
  22. data/lib/honeybadger/capistrano/tasks.rake +67 -0
  23. data/lib/honeybadger/configuration.rb +2 -2
  24. data/lib/honeybadger/monitor/worker.rb +1 -1
  25. data/lib/honeybadger/notice.rb +10 -1
  26. data/lib/honeybadger/rack.rb +1 -0
  27. data/lib/honeybadger/rails.rb +8 -0
  28. data/lib/honeybadger/railtie.rb +1 -7
  29. data/lib/honeybadger/stats.rb +1 -1
  30. data/lib/honeybadger/templates/{feedback_form.html.erb → feedback_form.erb} +12 -9
  31. data/lib/honeybadger/user_feedback.rb +47 -17
  32. data/lib/honeybadger_tasks.rb +3 -3
  33. data/lib/rails/generators/honeybadger/honeybadger_generator.rb +1 -2
  34. data/spec/honeybadger/capistrano_spec.rb +26 -23
  35. data/spec/honeybadger/configuration_spec.rb +25 -21
  36. data/spec/honeybadger/notice_spec.rb +30 -37
  37. data/spec/honeybadger/notifier_spec.rb +60 -4
  38. data/spec/honeybadger/rack_spec.rb +1 -0
  39. data/spec/honeybadger/user_feedback_spec.rb +29 -4
  40. data/spec/honeybadger_tasks_spec.rb +13 -4
  41. metadata +9 -6
  42. data/spec/honeybadger/stats_spec.rb +0 -57
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: edcae24e99958fe34acc363817dc30becf37ea99
4
- data.tar.gz: 968da8e9f0c5a90d4f7e9d86a5c7525d427e6f28
3
+ metadata.gz: dbbe636f90405528664643f1ab941b3e18b5aa3f
4
+ data.tar.gz: 7578f627bfde4ceb48a620d0f598945c0d2b4028
5
5
  SHA512:
6
- metadata.gz: 718d30cb3969e876ca456a42bcbfaf4c739123e9cb905851f7eb06836974d6914b45a44f22e3344ccd07ddf65c45a9901d0736899411ca91f1a15e045e1ec47a
7
- data.tar.gz: 53dc3063a6336f45986a894c96f1a86175110cf6d482ab560ebb2cb0919cc0f08813fce48f743fbe8a28d3e26e04d44d6f1b8dad707a8012632b842e444d6ae5
6
+ metadata.gz: 2dc9f2d06808035f60332f801e4e6492efc6b631b8621cfa89daaa01bc61e47443f3c4de00abfe491d773eca317965a1a51d23cae745a8882a33b0564475b921
7
+ data.tar.gz: 3d7f91cdfa007e62b2fda97b970ce21d75dd537efc6d9af69c2e472f3721b31fca935fe5be1bcb9b9a8ed7396dd5de84a5f4627f3e814f64f83bff3bb18c60e2
data/Appraisals CHANGED
@@ -37,6 +37,16 @@ appraise 'rails4' do
37
37
  gem 'capistrano', '~> 2.0'
38
38
  end
39
39
 
40
+ appraise 'rails4-cap3' do
41
+ gem 'rails', '4.0.2'
42
+ gem 'honeybadger', :path => '../'
43
+ gem 'better_errors', :require => false
44
+ gem 'rack-mini-profiler', :require => false
45
+ gem 'capistrano', '~> 3.0'
46
+ gem 'capistrano-rails', '~> 1.1.0'
47
+ gem 'sshkit', '~> 1.2.0'
48
+ end
49
+
40
50
  # appraise 'rails-edge' do
41
51
  # gem 'rails', :git => 'git@github.com:rails/rails.git'
42
52
  # gem 'honeybadger', :path => '../'
data/CHANGELOG.md CHANGED
@@ -1,25 +1,32 @@
1
- ## Honeybadger 1.10.3 ##
1
+ ## Honeybadger 1.11.0 (unreleased) ##
2
2
 
3
- * Fixed bug with missing stddev stats
3
+ * Filter params from query strings in rack env.
4
4
 
5
- *Ben Curtis*
5
+ *Joshua Wood*
6
6
 
7
7
  * Fix concurrency race condition when modifying metrics hash
8
8
 
9
9
  *Joshua Wood*
10
10
 
11
- * Fix a JRuby memory leak
11
+ * Add I18n support to feedback form
12
12
 
13
- *Kevin Menard*
13
+ *Joshua Wood*
14
14
 
15
- ## Honeybadger 1.10.2 ##
15
+ * Allow feedback template to be overridden.
16
16
 
17
- * Explictly cast division to float.
17
+ *Joshua Wood*
18
+
19
+ * Add feedback to Rails 2.3.x (also adds ping for Rails 2)
18
20
 
19
- If you include mathn, a Rational is returned from #/, so we need
20
- to explictly cast to a float.
21
+ *Joshua Wood*
21
22
 
22
- *Austen Ito*
23
+ * Fix a JRuby memory leak
24
+
25
+ *Kevin Menard*
26
+
27
+ * Capistrano 3 support
28
+
29
+ *Joshua Wood*
23
30
 
24
31
  ## Honeybadger 1.10.1 ##
25
32
 
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- honeybadger (1.10.3)
4
+ honeybadger (1.11.0.beta1)
5
5
  json
6
6
 
7
7
  GEM
@@ -32,7 +32,7 @@ Feature: Install the Gem in a Rails application
32
32
  Then the output should contain "Must pass --api-key or --heroku or create config/initializers/honeybadger.rb"
33
33
 
34
34
  Scenario: Configure and deploy with Capistrano
35
- When I successfully run `capify .`
35
+ When I install capistrano
36
36
  And I configure my application to require Honeybadger
37
37
  And I run the honeybadger generator with "-k myapikey"
38
38
  And I run `cap -T`
@@ -129,7 +129,6 @@ Feature: Install the Gem in a Rails application
129
129
  Then the output should contain "Honeybadger Error 123456789"
130
130
  And the output should not contain "<!-- HONEYBADGER ERROR -->"
131
131
 
132
- @rails_3
133
132
  Scenario: Output when user feedback is enabled
134
133
  When I configure my application to require Honeybadger
135
134
  And I configure Honeybadger with:
@@ -222,6 +221,7 @@ Feature: Install the Gem in a Rails application
222
221
  config.api_key = "myapikey"
223
222
  config.logger = Logger.new(STDOUT)
224
223
  config.params_filters << "credit_card_number"
224
+ config.params_filters << "secret"
225
225
  config.debug = true
226
226
  """
227
227
  And I define a response for "TestController#index":
@@ -230,10 +230,12 @@ Feature: Install the Gem in a Rails application
230
230
  raise RuntimeError, "some message"
231
231
  """
232
232
  And I route "/test/index" to "test#index"
233
- And I perform a request to "http://example.com:123/test/index?param=value"
233
+ And I perform a request to "http://example.com:123/test/index?param=value&secret=blue42"
234
234
  Then I should receive a Honeybadger notification
235
- And the request should not contain "blue42"
235
+ And the request should not contain "red23"
236
236
  And the request params should contain "FILTERED"
237
+ And the request should not contain "blue42"
238
+ And the request cgi_data should contain "FILTERED"
237
239
 
238
240
  Scenario: Filtering session in a controller
239
241
  When I configure my application to require Honeybadger
@@ -260,3 +260,11 @@ When /^I configure Rails with:$/ do |config|
260
260
  end
261
261
  end
262
262
  end
263
+
264
+ When /^I install capistrano$/ do
265
+ if capify?
266
+ step %(I successfully run `capify .`)
267
+ else
268
+ step %(I successfully run `cap install`)
269
+ end
270
+ end
@@ -23,6 +23,11 @@ module RailsHelpers
23
23
  rails4? || rails3? || rails_version =~ /^2\.3/
24
24
  end
25
25
 
26
+ def capify?
27
+ require 'capistrano/version'
28
+ !(defined?(Capistrano::VERSION) && Gem::Version.new(Capistrano::VERSION) >= Gem::Version.new('3.0.0'))
29
+ end
30
+
26
31
  def rails_version
27
32
  @rails_version ||= `bundle exec rails -v`[/\d.+/]
28
33
  end
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: /Users/josh/code/honeybadger-ruby
3
3
  specs:
4
- honeybadger (1.10.3)
4
+ honeybadger (1.11.0.beta1)
5
5
  json
6
6
 
7
7
  GEM
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: /Users/josh/code/honeybadger-ruby
3
3
  specs:
4
- honeybadger (1.10.3)
4
+ honeybadger (1.11.0.beta1)
5
5
  json
6
6
 
7
7
  GEM
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: /Users/josh/code/honeybadger-ruby
3
3
  specs:
4
- honeybadger (1.10.3)
4
+ honeybadger (1.11.0.beta1)
5
5
  json
6
6
 
7
7
  GEM
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: /Users/josh/code/honeybadger-ruby
3
3
  specs:
4
- honeybadger (1.10.3)
4
+ honeybadger (1.11.0.beta1)
5
5
  json
6
6
 
7
7
  GEM
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: /Users/josh/code/honeybadger-ruby
3
3
  specs:
4
- honeybadger (1.10.3)
4
+ honeybadger (1.11.0.beta1)
5
5
  json
6
6
 
7
7
  GEM
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: /Users/josh/code/honeybadger-ruby
3
3
  specs:
4
- honeybadger (1.10.3)
4
+ honeybadger (1.11.0.beta1)
5
5
  json
6
6
 
7
7
  GEM
@@ -0,0 +1,13 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rails", "4.0.2"
6
+ gem "honeybadger", :path=>"../"
7
+ gem "better_errors", :require=>false
8
+ gem "rack-mini-profiler", :require=>false
9
+ gem "capistrano", "~> 3.0"
10
+ gem "capistrano-rails", "~> 1.1.0"
11
+ gem "sshkit", "~> 1.2.0"
12
+
13
+ gemspec :path=>"../"
@@ -0,0 +1,204 @@
1
+ PATH
2
+ remote: /Users/josh/code/honeybadger-ruby
3
+ specs:
4
+ honeybadger (1.11.0.beta1)
5
+ json
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ actionmailer (4.0.2)
11
+ actionpack (= 4.0.2)
12
+ mail (~> 2.5.4)
13
+ actionpack (4.0.2)
14
+ activesupport (= 4.0.2)
15
+ builder (~> 3.1.0)
16
+ erubis (~> 2.7.0)
17
+ rack (~> 1.5.2)
18
+ rack-test (~> 0.6.2)
19
+ activemodel (4.0.2)
20
+ activesupport (= 4.0.2)
21
+ builder (~> 3.1.0)
22
+ activerecord (4.0.2)
23
+ activemodel (= 4.0.2)
24
+ activerecord-deprecated_finders (~> 1.0.2)
25
+ activesupport (= 4.0.2)
26
+ arel (~> 4.0.0)
27
+ activerecord-deprecated_finders (1.0.3)
28
+ activesupport (4.0.2)
29
+ i18n (~> 0.6, >= 0.6.4)
30
+ minitest (~> 4.2)
31
+ multi_json (~> 1.3)
32
+ thread_safe (~> 0.1)
33
+ tzinfo (~> 0.3.37)
34
+ addressable (2.3.5)
35
+ appraisal (0.5.2)
36
+ bundler
37
+ rake
38
+ arel (4.0.1)
39
+ aruba (0.5.3)
40
+ childprocess (>= 0.3.6)
41
+ cucumber (>= 1.1.1)
42
+ rspec-expectations (>= 2.7.0)
43
+ atomic (1.1.14)
44
+ better_errors (1.0.1)
45
+ coderay (>= 1.0.0)
46
+ erubis (>= 2.6.6)
47
+ builder (3.1.4)
48
+ capistrano (3.0.1)
49
+ i18n
50
+ rake (>= 10.0.0)
51
+ sshkit (>= 0.0.23)
52
+ capistrano-bundler (1.0.0)
53
+ capistrano (>= 3.0.0.pre)
54
+ capistrano-rails (1.1.0)
55
+ capistrano (>= 3.0.0)
56
+ capistrano-bundler (>= 1.0.0)
57
+ childprocess (0.3.9)
58
+ ffi (~> 1.0, >= 1.0.11)
59
+ coderay (1.1.0)
60
+ crack (0.4.1)
61
+ safe_yaml (~> 0.9.0)
62
+ cucumber (1.2.5)
63
+ builder (>= 2.1.2)
64
+ diff-lcs (>= 1.1.3)
65
+ gherkin (~> 2.11.7)
66
+ multi_json (~> 1.3)
67
+ diff-lcs (1.2.4)
68
+ erubis (2.7.0)
69
+ ffi (1.9.3)
70
+ formatador (0.2.4)
71
+ fuubar (1.2.1)
72
+ rspec (~> 2.0)
73
+ rspec-instafail (~> 0.2.0)
74
+ ruby-progressbar (~> 1.0)
75
+ gherkin (2.11.8)
76
+ multi_json (~> 1.3)
77
+ growl (1.0.3)
78
+ guard (1.8.3)
79
+ formatador (>= 0.2.4)
80
+ listen (~> 1.3)
81
+ lumberjack (>= 1.0.2)
82
+ pry (>= 0.9.10)
83
+ thor (>= 0.14.6)
84
+ guard-rspec (3.1.0)
85
+ guard (>= 1.8)
86
+ rspec (~> 2.13)
87
+ hike (1.2.3)
88
+ i18n (0.6.9)
89
+ json (1.8.1)
90
+ listen (1.3.1)
91
+ rb-fsevent (>= 0.9.3)
92
+ rb-inotify (>= 0.9)
93
+ rb-kqueue (>= 0.2)
94
+ lumberjack (1.0.4)
95
+ mail (2.5.4)
96
+ mime-types (~> 1.16)
97
+ treetop (~> 1.4.8)
98
+ method_source (0.8.2)
99
+ mime-types (1.25.1)
100
+ minitest (4.7.5)
101
+ multi_json (1.8.2)
102
+ net-scp (1.1.2)
103
+ net-ssh (>= 2.6.5)
104
+ net-ssh (2.7.0)
105
+ polyglot (0.3.3)
106
+ pry (0.9.12.3)
107
+ coderay (~> 1.0)
108
+ method_source (~> 0.8)
109
+ slop (~> 3.4)
110
+ rack (1.5.2)
111
+ rack-mini-profiler (0.1.31)
112
+ rack (>= 1.1.3)
113
+ rack-protection (1.5.1)
114
+ rack
115
+ rack-test (0.6.2)
116
+ rack (>= 1.0)
117
+ rails (4.0.2)
118
+ actionmailer (= 4.0.2)
119
+ actionpack (= 4.0.2)
120
+ activerecord (= 4.0.2)
121
+ activesupport (= 4.0.2)
122
+ bundler (>= 1.3.0, < 2.0)
123
+ railties (= 4.0.2)
124
+ sprockets-rails (~> 2.0.0)
125
+ railties (4.0.2)
126
+ actionpack (= 4.0.2)
127
+ activesupport (= 4.0.2)
128
+ rake (>= 0.8.7)
129
+ thor (>= 0.18.1, < 2.0)
130
+ rake (10.1.0)
131
+ rb-fsevent (0.9.3)
132
+ rb-inotify (0.9.2)
133
+ ffi (>= 0.5.0)
134
+ rb-kqueue (0.2.0)
135
+ ffi (>= 0.5.0)
136
+ rspec (2.14.1)
137
+ rspec-core (~> 2.14.0)
138
+ rspec-expectations (~> 2.14.0)
139
+ rspec-mocks (~> 2.14.0)
140
+ rspec-core (2.14.7)
141
+ rspec-expectations (2.14.3)
142
+ diff-lcs (>= 1.1.3, < 2.0)
143
+ rspec-instafail (0.2.4)
144
+ rspec-mocks (2.14.4)
145
+ ruby-progressbar (1.2.0)
146
+ safe_yaml (0.9.7)
147
+ sham_rack (1.3.6)
148
+ rack
149
+ sinatra (1.4.4)
150
+ rack (~> 1.4)
151
+ rack-protection (~> 1.4)
152
+ tilt (~> 1.3, >= 1.3.4)
153
+ slop (3.4.6)
154
+ sprockets (2.10.1)
155
+ hike (~> 1.2)
156
+ multi_json (~> 1.0)
157
+ rack (~> 1.0)
158
+ tilt (~> 1.1, != 1.3.0)
159
+ sprockets-rails (2.0.1)
160
+ actionpack (>= 3.0)
161
+ activesupport (>= 3.0)
162
+ sprockets (~> 2.8)
163
+ sshkit (1.2.0)
164
+ net-scp (>= 1.1.2)
165
+ net-ssh
166
+ term-ansicolor
167
+ term-ansicolor (1.2.2)
168
+ tins (~> 0.8)
169
+ thor (0.18.1)
170
+ thread_safe (0.1.3)
171
+ atomic
172
+ tilt (1.4.1)
173
+ tins (0.13.1)
174
+ treetop (1.4.15)
175
+ polyglot
176
+ polyglot (>= 0.3.1)
177
+ tzinfo (0.3.38)
178
+ webmock (1.15.2)
179
+ addressable (>= 2.2.7)
180
+ crack (>= 0.3.2)
181
+
182
+ PLATFORMS
183
+ ruby
184
+
185
+ DEPENDENCIES
186
+ appraisal
187
+ aruba
188
+ better_errors
189
+ capistrano (~> 3.0)
190
+ capistrano-rails (~> 1.1.0)
191
+ cucumber (~> 1.2.1)
192
+ fuubar
193
+ growl
194
+ guard (~> 1.8.3)
195
+ guard-rspec
196
+ honeybadger!
197
+ rack-mini-profiler
198
+ rails (= 4.0.2)
199
+ rake
200
+ rspec (~> 2.14.0)
201
+ sham_rack (~> 1.3.0)
202
+ sinatra
203
+ sshkit (~> 1.2.0)
204
+ webmock
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: /Users/josh/code/honeybadger-ruby
3
3
  specs:
4
- honeybadger (1.10.3)
4
+ honeybadger (1.11.0.beta1)
5
5
  json
6
6
 
7
7
  GEM
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: /Users/josh/code/honeybadger-ruby
3
3
  specs:
4
- honeybadger (1.10.3)
4
+ honeybadger (1.11.0.beta1)
5
5
  json
6
6
 
7
7
  GEM