honeybadger 1.10.3 → 1.11.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
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