square-hoptoad_notifier 2.4.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. data/CHANGELOG +427 -0
  2. data/INSTALL +25 -0
  3. data/MIT-LICENSE +22 -0
  4. data/README.md +435 -0
  5. data/README_FOR_HEROKU_ADDON.md +93 -0
  6. data/Rakefile +227 -0
  7. data/SUPPORTED_RAILS_VERSIONS +10 -0
  8. data/TESTING.rdoc +8 -0
  9. data/generators/hoptoad/hoptoad_generator.rb +88 -0
  10. data/generators/hoptoad/lib/insert_commands.rb +34 -0
  11. data/generators/hoptoad/lib/rake_commands.rb +24 -0
  12. data/generators/hoptoad/templates/capistrano_hook.rb +6 -0
  13. data/generators/hoptoad/templates/hoptoad_notifier_tasks.rake +25 -0
  14. data/generators/hoptoad/templates/initializer.rb +6 -0
  15. data/lib/hoptoad_notifier.rb +153 -0
  16. data/lib/hoptoad_notifier/backtrace.rb +99 -0
  17. data/lib/hoptoad_notifier/capistrano.rb +20 -0
  18. data/lib/hoptoad_notifier/configuration.rb +242 -0
  19. data/lib/hoptoad_notifier/notice.rb +337 -0
  20. data/lib/hoptoad_notifier/rack.rb +42 -0
  21. data/lib/hoptoad_notifier/rails.rb +41 -0
  22. data/lib/hoptoad_notifier/rails/action_controller_catcher.rb +30 -0
  23. data/lib/hoptoad_notifier/rails/controller_methods.rb +68 -0
  24. data/lib/hoptoad_notifier/rails/error_lookup.rb +33 -0
  25. data/lib/hoptoad_notifier/rails/javascript_notifier.rb +42 -0
  26. data/lib/hoptoad_notifier/rails3_tasks.rb +82 -0
  27. data/lib/hoptoad_notifier/railtie.rb +32 -0
  28. data/lib/hoptoad_notifier/sender.rb +83 -0
  29. data/lib/hoptoad_notifier/shared_tasks.rb +29 -0
  30. data/lib/hoptoad_notifier/tasks.rb +83 -0
  31. data/lib/hoptoad_notifier/user_informer.rb +23 -0
  32. data/lib/hoptoad_notifier/version.rb +3 -0
  33. data/lib/hoptoad_tasks.rb +44 -0
  34. data/lib/rails/generators/hoptoad/hoptoad_generator.rb +94 -0
  35. data/lib/templates/javascript_notifier.erb +13 -0
  36. data/lib/templates/rescue.erb +91 -0
  37. data/rails/init.rb +1 -0
  38. data/script/integration_test.rb +38 -0
  39. data/test/backtrace_test.rb +118 -0
  40. data/test/catcher_test.rb +331 -0
  41. data/test/configuration_test.rb +216 -0
  42. data/test/helper.rb +248 -0
  43. data/test/hoptoad_tasks_test.rb +152 -0
  44. data/test/javascript_notifier_test.rb +52 -0
  45. data/test/logger_test.rb +85 -0
  46. data/test/notice_test.rb +448 -0
  47. data/test/notifier_test.rb +222 -0
  48. data/test/rack_test.rb +58 -0
  49. data/test/rails_initializer_test.rb +36 -0
  50. data/test/sender_test.rb +161 -0
  51. data/test/user_informer_test.rb +29 -0
  52. metadata +225 -0
data/CHANGELOG ADDED
@@ -0,0 +1,427 @@
1
+ Version 2.4.8 - Mon Mar 21 11:11:16 -0400 2011
2
+ ===============================================================================
3
+
4
+ Jonathan Yurek(1):
5
+ Prevent infinite loops from recursive data structures.
6
+
7
+ Version 2.4.7 - Thu Mar 10 16:21:31 -0500 2011
8
+ ===============================================================================
9
+
10
+ Jonathan Yurek(1):
11
+ Rails generator requires './config/boot' for 1.9.2 compatibility.
12
+
13
+ Version 2.4.6 - Tue Feb 15 15:51:17 -0500 2011
14
+ ===============================================================================
15
+
16
+ Jonathan Yurek(1):
17
+ Modify the error page's body in-place.
18
+
19
+ Version 2.4.5 - Wed Feb 02 13:24:29 -0500 2011
20
+ ===============================================================================
21
+
22
+ Jonathan Yurek (1):
23
+ Don't require Rack::Lock's presence in the middleware for UserInformer
24
+
25
+
26
+ Version 2.4.4 - Fri Jan 28 13:50:10 -0500 2011
27
+ ===============================================================================
28
+
29
+ Matt Jankowski (1):
30
+ Change the javascript notifier from a config option to a helper method
31
+
32
+ Jonathan Yurek (1):
33
+ Show the javascript notifier prevents XSS attempts from request.url
34
+
35
+ Version 2.4.3 - Wed Jan 26 11:35:15 -0500 2011
36
+ ===============================================================================
37
+
38
+ Jon Yurek (1):
39
+ Allow the application to present the Hoptoad error number to the user
40
+
41
+
42
+ Version 2.4.2 - Sun Jan 09 09:37:31 -0500 2011
43
+ ===============================================================================
44
+
45
+ Matt Jankowski (1):
46
+ fix issue where the gsub to replace the html head with javascript was removing the head element entirely
47
+
48
+
49
+ Version 2.4.1 - Sat Jan 08 12:17:15 -0500 2011
50
+ ===============================================================================
51
+
52
+ Matt Jankowski (1):
53
+ restore method which may have been accidentally removed?
54
+
55
+
56
+ Version 2.4.0 - Thu Jan 06 15:03:58 -0500 2011
57
+ ===============================================================================
58
+
59
+ Jason Morrison (1):
60
+ Remove official support for very old Rails version going forward
61
+
62
+ Version 2.3.14 - Wed Jan 05 14:06:12 -0500 2011
63
+ ===============================================================================
64
+
65
+ Jason Morrison (1):
66
+ Fix 'require' path
67
+
68
+ Version 2.3.13 - Mon Jan 03 15:56:20 -0500 2011
69
+ ===============================================================================
70
+
71
+ Dan Croak (1):
72
+ including twiddle wakka in install instructions
73
+
74
+ Emma Lindsay (5):
75
+ Sends more javascript information back to hoptaod
76
+ Merge branch 'js_notifier_default_fields'
77
+ Bumping to version 2.3.10
78
+ Updated jferris-mocha to bourne
79
+ Update readme to show quotes around error names in ignores
80
+
81
+ Jason Morrison (8):
82
+ wip: Supply default url, component, action for JS notifier
83
+ gracefully fall back to require 'activesupport' if require 'active_support' fails
84
+ Add non-capistrano deploy instructions
85
+ Add instructions for heroku gem to Heroku addon README
86
+ Add AbstractController::ActionNotFound to default ignore list
87
+ Bumping to version 2.3.12
88
+ Bugfix: JS Notifier will now insert itself even when <head> tag has attributes
89
+ Add Heroku deploy notification
90
+
91
+ Jon Yurek (11):
92
+ Require bourne, run right cucumber task
93
+ Get the API key from Heroku
94
+ Bumped version: 2.3.11
95
+ Getting green cucumber stories
96
+ Fakes out the heroku command for cucumber.
97
+ Mount the metal endpoint in Rails 3 tests.
98
+ Metal test mounts at /metal
99
+ Supported versions: 2.3.9, 2.3.10, and 3.0.1
100
+ Return non-zero on cucumber failure.
101
+ Controller info for older Rails-es is different.
102
+ Remove Rails 2.0.2 from official support. Added 3.0.2+3
103
+
104
+ Trevor Turk (1):
105
+ Fix default ignores in the README
106
+
107
+
108
+ Version 2.3.12 - Wed Nov 03 13:53:18 -0400 2010
109
+ ===============================================================================
110
+
111
+ In general: Update gems, improve testing, improve documentation, improve
112
+ javascript notifier.
113
+
114
+ Emma Lindsay (4):
115
+ Sends more javascript information back to hoptaod
116
+ Merge branch 'js_notifier_default_fields'
117
+ Bumping to version 2.3.10
118
+ Updated jferris-mocha to bourne
119
+
120
+ Jason Morrison (5):
121
+ wip: Supply default url, component, action for JS notifier
122
+ gracefully fall back to require 'activesupport' if require 'active_support' fails
123
+ Add non-capistrano deploy instructions
124
+ Add instructions for heroku gem to Heroku addon README
125
+ Add AbstractController::ActionNotFound to default ignore list
126
+
127
+ Jon Yurek (9):
128
+ Require bourne, run right cucumber task
129
+ Get the API key from Heroku
130
+ Bumped version: 2.3.11
131
+ Getting green cucumber stories
132
+ Fakes out the heroku command for cucumber.
133
+ Mount the metal endpoint in Rails 3 tests.
134
+ Metal test mounts at /metal
135
+ Supported versions: 2.3.9, 2.3.10, and 3.0.1
136
+ Return non-zero on cucumber failure.
137
+
138
+
139
+ Version 2.3.10 - Mon Oct 18 17:07:56 -0400 2010
140
+ ===============================================================================
141
+
142
+ Emma Lindsay (2):
143
+ Sends more javascript information back to hoptaod
144
+ Merge branch 'js_notifier_default_fields'
145
+
146
+ Jason Morrison (2):
147
+ wip: Supply default url, component, action for JS notifier
148
+ gracefully fall back to require 'activesupport' if require 'active_support' fails
149
+
150
+
151
+ Version 2.3.9 - 2010-10-18
152
+ ===============================================================================
153
+
154
+ This patch release contains a handful of bugfixes, and ensures:
155
+ If hoptoadapp.com is completely unreachable by HTTP, your app is not affected.
156
+ Controller method #notify_hoptoad is available in Rails 3. Thanks contributor Kyle Crum!
157
+
158
+ Chad Pytel (1):
159
+ also handle Errno::ECONNREFUSED and other http errors
160
+
161
+ Jason Morrison (4):
162
+ Add gem versions to test suite
163
+ Revert "Revert "attempt to debug mail sending on staging""
164
+ Adding Heroku notifier readme
165
+ gracefully fall back to require 'activesupport' if require 'active_support' fails
166
+
167
+ Jon Yurek (2):
168
+ Bumping version to 2.3.8
169
+ Adds builder to the gemspec
170
+
171
+ Kyle Crum (3):
172
+ notify_hoptoad now works in rails 3 controllers
173
+ more sane way of testing for rails 3 controller methods
174
+ added a scenario for using the notify_hoptoad method within a controller
175
+
176
+
177
+ Version 2.3.7 - 2010-09-15
178
+ ===============================================================================
179
+
180
+ Jason Morrison (5):
181
+ Add ./ prefix to require for 1.9.2
182
+ More helpful message for testing without ENV['RAILS_VERSION']
183
+ Support Rails 3.0.0, not 3.0.0.rc
184
+ This wasn't actually a fix (it regressed tests): Revert "Fix modifying params_filters"
185
+ Correct the #also_use_rack_params_filters method
186
+
187
+ Joshua Clayton (1):
188
+ Fix modifying params_filters
189
+
190
+ Nick Quaranto (2):
191
+ s/RSpec/Spec for matchers
192
+ use Sinatra::Default instead of Sinatra::Base
193
+
194
+
195
+ Version 2.3.6 - 2010-08-30
196
+ ===============================================================================
197
+
198
+ Daniel Barron (1):
199
+ Initializer configuration overrides Railtie configuration if set
200
+
201
+ Joshua Clayton (1):
202
+ Remove rack.request.form_vars
203
+
204
+ Tristan Dunn (1):
205
+ Move Rails JS scenarios into separate feature and correctly support HTTPS when secure is enabled on the notifier.
206
+
207
+
208
+ Version 2.3.5 - 2010-08-13
209
+ ===============================================================================
210
+
211
+ Alexey Palazhchenko (1):
212
+ Actually call #to_hash.
213
+
214
+ Joshua Clayton (1):
215
+ Trace hoptoad:test task when running generator for anything before Rails3
216
+
217
+
218
+ Version 2.3.4 - 2010-08-10
219
+ ===============================================================================
220
+
221
+ Tristan Dunn (1):
222
+ Only include the JS notifier in public environments.
223
+
224
+
225
+ Version 2.3.3 - 2010-08-04
226
+ ===============================================================================
227
+
228
+ Tristan Dunn (1):
229
+ Initial injection of JS notifier.
230
+
231
+
232
+ Version 2.3.2 - 2010-07-06
233
+ ===============================================================================
234
+
235
+ Josh Clayton(1):
236
+ Handle instances when Rack's action_dispach.parameter_filter is nil
237
+
238
+
239
+ Version 2.3.1 - 2010-07-02
240
+ ===============================================================================
241
+
242
+ Jason Morrison (2):
243
+ Use the Rails 3 params filters when available
244
+ Filter session hash using Hoptoad config.params_filters, in addition to params
245
+
246
+
247
+ Version 2.3.0 - 2010-06-24
248
+ ===============================================================================
249
+
250
+ Jason Morrison (5):
251
+ Add integration test for rails 3.0.0.beta4
252
+ Added feature: Support the Heroku addon in the generator
253
+ Add --heroku flag to generator to support ENV['HOPTOAD_API_KEY']
254
+ Reflect a copy change in rails.feature for --heroku generator flag
255
+ Support the proxy configuration options when notifying Hoptoad of a deploy (hat tip @gudleik)
256
+
257
+
258
+ Version 2.2.6 - 2010-06-02
259
+ ===============================================================================
260
+
261
+ Jason Morrison (1):
262
+ For Rails 3, just use the Rack middleware instead of specifying a location to insert_after
263
+
264
+
265
+ Version 2.2.5 - 2010-06-02
266
+ ===============================================================================
267
+
268
+ Jason Morrison (1):
269
+ Add documentation for Rails 3.x installation
270
+
271
+
272
+ Version 2.2.4 - 2010-06-02
273
+ ===============================================================================
274
+
275
+ Jason Morrison (1):
276
+ Add a note to README about removing the explicit Catcher #include in ApplicationController
277
+
278
+
279
+ Version 2.2.3 - 2010-06-02
280
+ ===============================================================================
281
+
282
+ Summary: Fixed a variety of issues for Rails 3.0.0.beta3,
283
+ Fixed a bug when using Vlad to deploy instead of Capistrano
284
+ Give better error output when gem is not installed
285
+
286
+ Chad Pytel (2):
287
+ revise gem unpack instructions step
288
+ Merge branch 'master' of github.com:thoughtbot/hoptoad_notifier
289
+
290
+ Dan Lawless (1):
291
+ don't append capistrano details to config.deploy.rb when target app uses Vlad
292
+
293
+ Jason Morrison (7):
294
+ LH-556 Clarify sending ENV environment variables
295
+ Starting to add features for Rails 3
296
+ Make rails rake tasks depend on gem-making tasks
297
+ Start to get Rails 3 features to pass
298
+ require fileutils to reflect rubygems 1.3.6 change
299
+ Support ENV['CUCUMBER_FORMAT'] in rails cucumber tasks for testing
300
+ Fix the initializer syntax in the Rails 3 Railtie
301
+
302
+ Joe Ferris (11):
303
+ Got the generator running and a request dispatched to the test endpoint
304
+ Fixed logging in hoptoad:test rake task
305
+ Separated Rails 2 and 3 entry
306
+ Support bundler
307
+ Rails 3 generator works with an existing api key
308
+ Extract request info from rack env
309
+ Detect presence of the plugin
310
+ Added a capistrano hook for Rails 3
311
+ Fixed rack/sinatra being broken without active_support
312
+ Fixes for earlier versions of Rails
313
+ Fixed Rails 3 generator not to append cap hooks for vlad deploys
314
+
315
+ Josh Kalderimis (7):
316
+ updated railtie to work with the new rails 3 middleware api
317
+ railtie_name is deprecated
318
+ updated app_middleware call to use string version as to make sure constant is loaded
319
+ moved generator using the new rails 3 convention
320
+ update path to template for Rails 3 generator
321
+ correction to referencing of the rails application in rails3_tasks
322
+ add environment_name and project_root back to rails 3 railtie
323
+
324
+ Joshua Nichols (1):
325
+ Handle gem not being installed more gracefully.
326
+
327
+
328
+ Version 2.2.2 - 2010-03-10
329
+ ===============================================================================
330
+
331
+ Chad Pytel (1):
332
+ document proxy support
333
+
334
+ Joe Ferris (8):
335
+ Added upgrade instructions to the README
336
+ Give a clearer error message when generating a Rails app fails
337
+ Fail loudly when a gem can't be vendored
338
+ Debugging rubygems issues
339
+ Explicitly specify the gem paths
340
+ Less noisy
341
+ Restore gem path after vendoring
342
+ Fixed a typo
343
+
344
+ Jon Yurek (1):
345
+ Added notice about removing hoptoad rake tasks to upgrade gem
346
+
347
+ Mike Burns (1):
348
+ Remove stray file with notes in it
349
+
350
+
351
+ Version 2.2.1 - 2010-03-10
352
+ ===============================================================================
353
+
354
+ Jason Morrison (3):
355
+ LH-629 Ensure notifier is not considered a framework gem
356
+ Removing things-the-generator-must-do file
357
+ Add rake cucumber:wip:rails* tasks for work-in-progress features
358
+
359
+
360
+ Version 2.2.0 - 2010-02-18
361
+ ===============================================================================
362
+
363
+ Bumping the version from 2.1.4 to 2.2.0 since adding Rack support warrants a minor version.
364
+
365
+ Jason Morrison (1):
366
+ Stringify array elements when making assertions about Notice XML for 1.9 compatibility
367
+
368
+
369
+ Version 2.1.4 - 2010-02-12
370
+ ===============================================================================
371
+
372
+ Chad Pytel (2):
373
+ add more info to README for 1.2.6
374
+ fix gem unpack line for 1.2.6
375
+
376
+ Jason Morrison (2):
377
+ Adding additional instructions for Rails 1.2.6
378
+ Typesetting in README.rdoc
379
+
380
+ Joe Ferris (11):
381
+ Separating Rails functionality out more
382
+ Initial Rack middleware
383
+ Extract request info from rack env
384
+ Added integration tests for rescuing
385
+ Fixed reporting of Rails version
386
+ Small refactoring
387
+ Automatically add Rack middleware for Rails apps that support it (catches exceptions from Metal)
388
+ Added an integration test and docs for rack apps
389
+ Added integration/readme coverage of Sinatra apps
390
+ Added docs to HoptoadNotifier::Rack
391
+ Require rack in tests for older versions of Rails; use active_support instead of activesupport
392
+
393
+ Nick Quaranto (3):
394
+ Fixing the capistrano hook bit in the readme
395
+ Adding changeling:minor and changeling:patch to automate notifier releases
396
+ Adding rake changeling:push
397
+
398
+
399
+
400
+
401
+
402
+
403
+
404
+
405
+
406
+
407
+
408
+
409
+
410
+
411
+
412
+
413
+
414
+
415
+
416
+
417
+
418
+
419
+
420
+
421
+
422
+
423
+
424
+
425
+
426
+
427
+
data/INSTALL ADDED
@@ -0,0 +1,25 @@
1
+ === Configuration
2
+
3
+ You should have something like this in config/initializers/hoptoad.rb.
4
+
5
+ HoptoadNotifier.configure do |config|
6
+ config.api_key = '1234567890abcdef'
7
+ end
8
+
9
+ (Please note that this configuration should be in a global configuration, and
10
+ is *not* environment-specific. Hoptoad is smart enough to know what errors are
11
+ caused by what environments, so your staging errors don't get mixed in with
12
+ your production errors.)
13
+
14
+ You can test that Hoptoad is working in your production environment by using
15
+ this rake task (from RAILS_ROOT):
16
+
17
+ rake hoptoad:test
18
+
19
+ If everything is configured properly, that task will send a notice to Hoptoad
20
+ which will be visible immediately.
21
+
22
+ NOTE FOR RAILS 1.2.* USERS:
23
+
24
+ You will need to copy the hoptoad_notifier_tasks.rake file into your
25
+ RAILS_ROOT/lib/tasks directory in order for the rake hoptoad:test task to work.