airbrake 3.0.9 → 3.1.0

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 +162 -0
  2. data/Gemfile +1 -0
  3. data/INSTALL +0 -5
  4. data/README.md +60 -35
  5. data/README_FOR_HEROKU_ADDON.md +30 -29
  6. data/Rakefile +47 -15
  7. data/SUPPORTED_RAILS_VERSIONS +11 -0
  8. data/TESTING.md +6 -4
  9. data/airbrake.gemspec +5 -4
  10. data/features/metal.feature +2 -7
  11. data/features/rack.feature +1 -5
  12. data/features/rails.feature +9 -41
  13. data/features/rails_with_js_notifier.feature +20 -1
  14. data/features/rake.feature +2 -2
  15. data/features/sinatra.feature +1 -5
  16. data/features/step_definitions/rack_steps.rb +3 -0
  17. data/features/step_definitions/rails_application_steps.rb +39 -15
  18. data/features/support/airbrake_shim.rb.template +4 -8
  19. data/features/support/rails.rb +20 -3
  20. data/features/user_informer.feature +3 -3
  21. data/generators/airbrake/airbrake_generator.rb +6 -2
  22. data/generators/airbrake/templates/airbrake_tasks.rake +1 -1
  23. data/lib/airbrake.rb +2 -3
  24. data/lib/airbrake/capistrano.rb +3 -2
  25. data/lib/airbrake/configuration.rb +26 -8
  26. data/lib/airbrake/notice.rb +2 -2
  27. data/lib/airbrake/rack.rb +4 -1
  28. data/lib/airbrake/rails.rb +4 -5
  29. data/lib/airbrake/rails/controller_methods.rb +19 -13
  30. data/lib/airbrake/rails/javascript_notifier.rb +1 -1
  31. data/lib/airbrake/rails/middleware/exceptions_catcher.rb +27 -0
  32. data/lib/airbrake/rails3_tasks.rb +4 -1
  33. data/lib/airbrake/railtie.rb +19 -4
  34. data/lib/airbrake/rake_handler.rb +1 -1
  35. data/lib/airbrake/sender.rb +2 -7
  36. data/lib/airbrake/shared_tasks.rb +9 -3
  37. data/lib/airbrake/user_informer.rb +1 -1
  38. data/lib/airbrake/version.rb +1 -1
  39. data/lib/airbrake_tasks.rb +11 -8
  40. data/lib/rails/generators/airbrake/airbrake_generator.rb +6 -2
  41. data/script/integration_test.rb +1 -1
  42. data/test/airbrake_tasks_test.rb +2 -2
  43. data/test/backtrace_test.rb +0 -1
  44. data/test/configuration_test.rb +2 -2
  45. data/test/helper.rb +0 -4
  46. data/test/notice_test.rb +3 -1
  47. data/test/notifier_test.rb +1 -1
  48. data/test/sender_test.rb +18 -18
  49. metadata +151 -233
  50. data/.gitignore +0 -18
  51. data/.yardopts +0 -3
  52. data/features/step_definitions/airbrake_shim.rb.template +0 -15
data/CHANGELOG CHANGED
@@ -1,3 +1,164 @@
1
+ Version 3.1.0 - 2012-05-28 02:25:09 +0200
2
+ ===============================================================================
3
+
4
+ Andre Arko (1):
5
+ stop using deprecated RAILS_ROOT
6
+
7
+ Benjamin Oakes (5):
8
+ notify_airbrake: filter params on Rails 3.1 (and maybe 3.0 also)
9
+ `params` is the (eventual) intent, but `hash` is clearer in context
10
+ One-liner, per @shime
11
+ Exception safety: worst case scenario, report the unfiltered hash
12
+ (m) Summarize the cases for future maintainers
13
+
14
+ Blake Watters (1):
15
+ Modify Rake handler to use Airbrake.notify_or_ignore rather than Airbrake.notify
16
+
17
+ Chris Griego (1):
18
+ Fix allowing airbrake_env/TO being different from rails_env/RAILS_ENV in deployment notifications.
19
+
20
+ David (10):
21
+ Merge pull request #33 from cgriego/patch-1
22
+ Merge pull request #51 from unnu/master
23
+ Merge pull request #56 from GateGuru/rake_handler_fix
24
+ Merge pull request #60 from DaPulse/master
25
+ Merge pull request #71 from sgonyea/patch-1
26
+ Merge pull request #75 from blackhacker/master
27
+ Merge pull request #81 from brainopia/patch-1
28
+ Merge pull request #82 from ghurrell/fix-readme-stubbing-example
29
+ Merge pull request #80 from yanowitz/patch-1
30
+ Merge pull request #86 from Playhem/master
31
+
32
+ David Palm (5):
33
+ Set VERIFY_PEER in rake task
34
+ More idiomatic inject
35
+ Not quite ready yet. Revert "Heroku references now are to Airbrake."
36
+ Adds `pry` to the gems available in test env
37
+ Works outside Rails
38
+
39
+ Eran Kampf (2):
40
+ Fix for apps behind a local proxy (EY App Master)
41
+ Changed if statement to one liner
42
+
43
+ Erik Ostrom (1):
44
+ Updated Heroku README to use Airbrake's new name.
45
+
46
+ Gary Rafferty (1):
47
+ Fix typo in airbrake.gemspec
48
+
49
+ Greg Hurrell (1):
50
+ Update stubbing example in README to match method signature
51
+
52
+ Hrvoje Šimić (47):
53
+ Merge pull request #59 from benjaminoakes/master
54
+ Merge pull request #62 from sleparc/master
55
+ Merge pull request #63 from benjaminoakes/master
56
+ improved readability
57
+ added new middleware catcher, fixes #73
58
+ Merge pull request #72 from 'jdel/lazyload'
59
+ Merge pull request #87 from gary-rafferty/master
60
+ Stop using include? to filter parameters
61
+ renaming so it's easier to understand
62
+ Merge pull request #90 from samoli/patch-1
63
+ Merge pull request #68 from cylence/master
64
+ read ENV variables from heroku config, fixes #89
65
+ check for airbrake_api_key on heroku
66
+ Merge pull request #91 from mikz/patch-1
67
+ ignore user agents in rails 3.0+
68
+ Merge branch 'master' of github.com:airbrake/airbrake
69
+ Merge pull request #79 from morgoth/fix-passing-api-key-as-param-to-rake-task
70
+ minor test fix
71
+ let's catch errors that happen early in the stack
72
+ remove deprecated step definitions
73
+ update url in a test
74
+ fix required files in gemspec
75
+ use top-level namespace
76
+ fix requirements
77
+ add rvmrc
78
+ update server response in scenarios
79
+ update heroku mock
80
+ remove unnecessary space
81
+ prefer the latest stable ruby version
82
+ update steps for newer rails versions
83
+ support rails 3.2.x with the test suite
84
+ update exception catcher
85
+ monkeypatch the old rails versions in tests
86
+ remove fake exception from env
87
+ add sanity to rescue_action_in_public_without_airbrake call
88
+ remove note for rails 1.2.x users, we don't support it
89
+ support the latest rails versions
90
+ add 3.0.11 and 3.0.12 to supported versions
91
+ update rack synopsis
92
+ log messages for sinatra and rack
93
+ make rack and sinatra tests green
94
+ update rack example in readme
95
+ Update ignored exceptions by default in readme
96
+ update explanation how we catch errors in readme
97
+ fix formatting
98
+ add all supported frameworks to rake test task
99
+ make metal tests green
100
+
101
+ Jason Yanowitz (2):
102
+ remove git dependency from generating gemspec file. causes errors when vendoring this gem in other projects
103
+ updated gemspec files specification based on feedback
104
+
105
+ Jean-Michel Garnier (1):
106
+ Update README.md
107
+
108
+ Jonathan Siegel (5):
109
+ Heroku references now are to Airbrake.
110
+ Merge branch 'master' of github.com:airbrake/airbrake
111
+ Added beta support fer cedar.
112
+ Added beta support fer cedar.
113
+ Migrated to new api.airbrake.io endpoint.
114
+
115
+ Jonathan del Strother (1):
116
+ Lazily-load actioncontroller
117
+
118
+ Leonid Shevtsov (3):
119
+ Feature: use a separate API key for Javascript notifications
120
+ cleaned up configuration
121
+ Merge branch 'master' of git://github.com/airbrake/airbrake
122
+
123
+ Michal Cichra (1):
124
+ Use id to lookup error instead of error-id.
125
+
126
+ Nathan Broadbent (1):
127
+ Added Mongoid::Errors::DocumentNotFound to default IGNORED exceptions (same as ActiveRecord::RecordNotFound, for Mongoid.)
128
+
129
+ Ravil Bayramgalin (1):
130
+ Update lib/airbrake/user_informer.rb
131
+
132
+ Ryan L. Cross (1):
133
+ Added unix style param for url in the deployhook rake task.
134
+
135
+ Sam Oliver (1):
136
+ Update hoptoad=>aibrake in rake task example
137
+
138
+ Scott Gonyea (1):
139
+ Document proxy parameters; namely, that the proxy_host does not require "http://" as a prefix. Ideally, config.proxy= could be given a URI.
140
+
141
+ Simon Le Parc (1):
142
+ Shouldn't test the native dup method
143
+
144
+ Stuart Chaney (1):
145
+ Updating README gem instructions for Rails 2.3 with bundler.
146
+
147
+ Wojciech Wnętrzak (1):
148
+ fixed passing api_key param to Airbrake deploy task
149
+
150
+ blackhacker (1):
151
+ more detailed error message
152
+
153
+ unnu (1):
154
+ Fixed TaggedLogging bug in Rails 3 rake test task
155
+
156
+ usiegj00 (3):
157
+ Merge pull request #46 from eostrom/master
158
+ Merge pull request #47 from 21croissants/master
159
+ Merge pull request #38 from ndbroadbent/ignore_mongoid_notfound
160
+
161
+
1
162
  Version 3.0.9 - Thu Dec 15 23:51:38 +0100 2011
2
163
  ===============================================================================
3
164
 
@@ -639,3 +800,4 @@ Nick Quaranto (3):
639
800
 
640
801
 
641
802
 
803
+
data/Gemfile CHANGED
@@ -4,6 +4,7 @@ gemspec
4
4
 
5
5
  if true
6
6
  group :test do
7
+ gem 'pry'
7
8
  gem 'guard'
8
9
  gem 'guard-test'
9
10
  end
data/INSTALL CHANGED
@@ -18,8 +18,3 @@ this rake task (from RAILS_ROOT):
18
18
 
19
19
  If everything is configured properly, that task will send a notice to Airbrake
20
20
  which will be visible immediately.
21
-
22
- NOTE FOR RAILS 1.2.* USERS:
23
-
24
- You will need to copy the airbrake_tasks.rb file into your
25
- RAILS_ROOT/lib/tasks directory in order for the rake airbrake:test task to work.
data/README.md CHANGED
@@ -18,22 +18,6 @@ For SSL verification see the [Resources](https://github.com/airbrake/airbrake/bl
18
18
  Rails Installation
19
19
  ------------------
20
20
 
21
- ### Remove hoptoad_notifier
22
-
23
- in your ApplicationController, REMOVE this line:
24
-
25
- include HoptoadNotifiable
26
-
27
- In your config/environment* files, remove all references to HoptoadNotifier
28
-
29
- Remove the vendor/plugins/hoptoad_notifier directory.
30
-
31
- ### Remove hoptoad_notifier plugin
32
-
33
- Remove the vendor/plugins/hoptoad_notifier directory before installing the gem, or run:
34
-
35
- script/plugin remove hoptoad_notifier
36
-
37
21
  ### Rails 3.x
38
22
 
39
23
  Add the airbrake gem to your Gemfile. In Gemfile:
@@ -54,6 +38,10 @@ The generator creates a file under `config/initializers/airbrake.rb` configuring
54
38
  Add the airbrake gem to your app. In config/environment.rb:
55
39
 
56
40
  config.gem 'airbrake'
41
+
42
+ or if you are using bundler:
43
+
44
+ gem 'airbrake', :require => 'airbrake/rails'
57
45
 
58
46
  Then from your project's RAILS_ROOT, and in your development environment, run:
59
47
 
@@ -135,6 +123,21 @@ this rake task (from RAILS_ROOT):
135
123
  If everything is configured properly, that task will send a notice to Airbrake
136
124
  which will be visible immediately.
137
125
 
126
+ ### Removing hoptoad_notifier
127
+
128
+ in your ApplicationController, REMOVE this line:
129
+
130
+ include HoptoadNotifiable
131
+
132
+ In your config/environment* files, remove all references to HoptoadNotifier
133
+
134
+ Remove the vendor/plugins/hoptoad_notifier directory.
135
+
136
+ ### Remove hoptoad_notifier plugin
137
+
138
+ Remove the vendor/plugins/hoptoad_notifier directory before installing the gem, or run:
139
+
140
+ script/plugin remove hoptoad_notifier
138
141
 
139
142
  Non-rails apps using Bundler
140
143
  ----------------------------
@@ -162,9 +165,11 @@ middleware:
162
165
  end
163
166
 
164
167
  app = Rack::Builder.app do
165
- use Airbrake::Rack
166
168
  run lambda { |env| raise "Rack down" }
167
169
  end
170
+
171
+ use Airbrake::Rack
172
+ run app
168
173
 
169
174
  Sinatra
170
175
  -------
@@ -187,9 +192,9 @@ Using airbrake in a Sinatra app is just like a Rack app:
187
192
  Usage
188
193
  -----
189
194
 
190
- For the most part, Airbrake works for itself. Once you've included the notifier
191
- in your ApplicationController (which is now done automatically by the gem),
192
- all errors will be rescued by the #rescue_action_in_public provided by the gem.
195
+ For the most part, Airbrake works for itself.
196
+
197
+ It intercepts the exception middleware calls, sends notifications and continues the middleware call chain.
193
198
 
194
199
  If you want to log arbitrary things which you've rescued yourself from a
195
200
  controller, you can do something like this:
@@ -222,13 +227,18 @@ then that comment will be replaced with the text "Airbrake Error [errnum]". You
222
227
  of the informer by setting `config.user_information`. Airbrake will replace "{{ error_id }}" with the
223
228
  ID of the error that is returned from Airbrake.
224
229
 
225
- Airbrake.configure do |config|
230
+ Airbrake.configure do |config|
226
231
  ...
227
- config.user_information = "<p>Tell the devs that it was <strong>{{ error_id }}</strong>'s fault.</p>"
228
- end
232
+ config.user_information = "<p>Tell the devs that it was <strong>{{ error_id }}</strong>'s fault.</p>"
233
+ end
229
234
 
230
235
  You can also turn the middleware that handles this completely off by setting `config.user_information` to false.
231
236
 
237
+ Note that this feature is reading the error id from `env['airbrake.error_id']`. When the exception is caught
238
+ automatically in a controller, Airbrake sets that value. If you're, however, calling the Airbrake methods like
239
+ `Airbrake#notify` or `Airbrake#notify_or_ignore`, please make sure you set that value. So the proper way of calling the
240
+ "manual" methods would be `env['airbrake.error_id'] = Airbrake.notify_or_ignore(...)`.
241
+
232
242
  Tracking deployments in Airbrake
233
243
  --------------------------------
234
244
 
@@ -310,12 +320,14 @@ notifications (when #notify is called directly).
310
320
 
311
321
  Airbrake ignores the following exceptions by default:
312
322
 
313
- AbstractController::ActionNotFound
314
323
  ActiveRecord::RecordNotFound
315
324
  ActionController::RoutingError
316
325
  ActionController::InvalidAuthenticityToken
317
- ActionController::UnknownAction
318
326
  CGI::Session::CookieStore::TamperedWithCookie
327
+ ActionController::UnknownAction
328
+ AbstractController::ActionNotFound
329
+ Mongoid::Errors::DocumentNotFound
330
+
319
331
 
320
332
  To ignore errors in addition to those, specify their names in your Airbrake
321
333
  configuration block.
@@ -369,7 +381,7 @@ use code like this in your test_helper.rb or spec_helper.rb files to redefine
369
381
  that method so those errors are not reported while running tests.
370
382
 
371
383
  module Airbrake
372
- def self.notify(thing)
384
+ def self.notify(exception, opts = {})
373
385
  # do nothing.
374
386
  end
375
387
  end
@@ -380,10 +392,10 @@ Proxy Support
380
392
  The notifier supports using a proxy, if your server is not able to directly reach the Airbrake servers. To configure the proxy settings, added the following information to your Airbrake configuration block.
381
393
 
382
394
  Airbrake.configure do |config|
383
- config.proxy_host = ...
384
- config.proxy_port = ...
385
- config.proxy_user = ...
386
- config.proxy_pass = ...
395
+ config.proxy_host = proxy.host.com
396
+ config.proxy_port = 4038
397
+ config.proxy_user = foo # optional
398
+ config.proxy_pass = bar # optional
387
399
 
388
400
  Supported Rails versions
389
401
  ------------------------
@@ -391,8 +403,8 @@ Supported Rails versions
391
403
  See SUPPORTED_RAILS_VERSIONS for a list of official supported versions of
392
404
  Rails.
393
405
 
394
- Please open up a support ticket ( http://help.airbrake.io ) if
395
- you're using a version of Rails that is listed above and the notifier is
406
+ Please open up a support ticket ( http://help.airbrake.io ) or submit a new github issue
407
+ if you're using a version of Rails that is listed above and the notifier is
396
408
  not working properly.
397
409
 
398
410
  Javascript Notifer
@@ -418,6 +430,19 @@ It's important to insert this very high in the markup, above all other javascrip
418
430
 
419
431
  This helper will automatically use the API key, host, and port specified in the configuration.
420
432
 
433
+ The Javascript notifier tends to send much more notifications than the base Rails project.
434
+ If you want to receive them into a separate Airbrake project, specify its
435
+ API key in the `js_api_key` option.
436
+
437
+ config.js_api_key = 'another-projects-api-key'
438
+
439
+ To test the Javascript notifier in development environment, overwrite (temporarily) the development_environments option:
440
+
441
+ Airbrake.configure do |config|
442
+ # ...
443
+ config.development_environments = []
444
+ end
445
+
421
446
  Development
422
447
  -----------
423
448
 
@@ -428,13 +453,13 @@ Credits
428
453
 
429
454
  ![thoughtbot](http://thoughtbot.com/images/tm/logo.png)
430
455
 
431
- Airbrake is maintained and funded by [thoughtbot, inc](http://thoughtbot.com/community)
456
+ Airbrake is maintained and funded by [airbrake.io](http://airbrake.io)
432
457
 
433
458
  Thank you to all [the contributors](https://github.com/airbrake/airbrake/contributors)!
434
459
 
435
- The names and logos for thoughtbot are trademarks of thoughtbot, inc.
460
+ The names and logos for Airbrake, thoughtbot are trademarks of their respective holders.
436
461
 
437
462
  License
438
463
  -------
439
464
 
440
- Airbrake is Copyright © 2008-2011 thoughtbot. It is free software, and may be redistributed under the terms specified in the MIT-LICENSE file.
465
+ Airbrake is Copyright © 2008-2012 Airbrake. It is free software, and may be redistributed under the terms specified in the MIT-LICENSE file.
@@ -1,32 +1,33 @@
1
- Hoptoad
2
- ===========
1
+ Airbrake on Heroku
2
+ ==================
3
+
3
4
  Send your application errors to our hosted service and reclaim your inbox.
4
5
 
5
6
  1. Installing the Heroku add-on
6
7
  ----------------------------
7
- To use Hoptoad on Heroku, install the Hoptoad add-on:
8
+ To use Airbrake on Heroku, install the Airbrake add-on:
8
9
 
9
- $ heroku addons:add hoptoad:basic # This adds the the basic plan.
10
- # If you'd like another plan, specify that instead.
10
+ $ heroku addons:add airbrake:basic # This adds the the basic plan.
11
+ # If you'd like another plan, specify that instead.
11
12
 
12
- 2. Including the Hoptoad notifier in your application
13
+ 2. Including the Airbrake notifier in your application
13
14
  --------------------------------------------------
14
- After adding the Hoptoad add-on, you will need to install and configure the Hoptoad notifier.
15
+ After adding the Airbrake add-on, you will need to install and configure the Airbrake notifier.
15
16
 
16
- Your application connects to Hoptoad with an API key. On Heroku, this is automatically provided to your
17
- application in `ENV['HOPTOAD_API_KEY']`, so installation should be a snap!
17
+ Your application connects to Airbrake with an API key. On Heroku, this is automatically provided to your
18
+ application in `ENV['HOPTOAD_API_KEY']`, so installation should be a snap! (Hoptoad is Airbrake's old name.)
18
19
 
19
20
  ### Rails 3.x
20
21
 
21
- Add the hoptoad_notifier and heroku gems to your Gemfile. In Gemfile:
22
+ Add the airbrake and heroku gems to your Gemfile. In Gemfile:
22
23
 
23
- gem 'hoptoad_notifier'
24
+ gem 'airbrake'
24
25
  gem 'heroku'
25
26
 
26
27
  Then from your project's RAILS_ROOT, run:
27
28
 
28
29
  $ bundle install
29
- $ script/rails generate hoptoad --heroku
30
+ $ script/rails generate airbrake --heroku
30
31
 
31
32
  ### Rails 2.x
32
33
 
@@ -34,39 +35,39 @@ Install the heroku gem if you haven't already:
34
35
 
35
36
  gem install heroku
36
37
 
37
- Add the hoptoad_notifier gem to your app. In config/environment.rb:
38
+ Add the airbrake gem to your app. In config/environment.rb:
38
39
 
39
- config.gem 'hoptoad_notifier'
40
+ config.gem 'airbrake'
40
41
 
41
42
  Then from your project's RAILS_ROOT, run:
42
43
 
43
44
  $ rake gems:install
44
- $ rake gems:unpack GEM=hoptoad_notifier
45
- $ script/generate hoptoad --heroku
45
+ $ rake gems:unpack GEM=airbrake
46
+ $ script/generate airbrake --heroku
46
47
 
47
- As always, if you choose not to vendor the hoptoad_notifier gem, make sure
48
+ As always, if you choose not to vendor the airbrake gem, make sure
48
49
  every server you deploy to has the gem installed or your application won't start.
49
50
 
50
51
  ### Rack applications
51
52
 
52
- In order to use hoptoad_notifier in a non-Rails rack app, just load the hoptoad_notifier, configure your API key, and use the HoptoadNotifier::Rack middleware:
53
+ In order to use airbrake in a non-Rails rack app, just load the airbrake, configure your API key, and use the Airbrake::Rack middleware:
53
54
 
54
55
  require 'rubygems'
55
56
  require 'rack'
56
- require 'hoptoad_notifier'
57
+ require 'airbrake'
57
58
 
58
- HoptoadNotifier.configure do |config|
59
+ Airbrake.configure do |config|
59
60
  config.api_key = `ENV['HOPTOAD_API_KEY']`
60
61
  end
61
62
 
62
63
  app = Rack::Builder.app do
63
- use HoptoadNotifier::Rack
64
+ use Airbrake::Rack
64
65
  run lambda { |env| raise "Rack down" }
65
66
  end
66
67
 
67
68
  ### Rails 1.x
68
69
 
69
- For Rails 1.x, visit the [Hoptoad notifier's README on GitHub](http://github.com/thoughtbot/hoptoad_notifier),
70
+ For Rails 1.x, visit the [Airbrake notifier's README on GitHub](http://github.com/thoughtbot/airbrake),
70
71
  and be sure to use `ENV['HOPTOAD_API_KEY']` where your API key is required in configuration code.
71
72
 
72
73
  3. Configure your notification settings (important!)
@@ -77,17 +78,17 @@ you will want to configure your notification settings.
77
78
 
78
79
  This is important - without setting your email address, you won't receive notification emails.
79
80
 
80
- Hoptoad can deliver exception notifications to your email inbox. To configure these delivery settings:
81
+ Airbrake can deliver exception notifications to your email inbox. To configure these delivery settings:
81
82
 
82
- 1. Visit your application's Hoptoad Add-on page, like [ http://api.heroku.com/myapps/my-great-app/addons/hoptoad:basic ](http://api.heroku.com/myapps/my-great-app/addons/hoptoad:basic)
83
- 2. Click "Go to Hoptoad admin" to configure the Hoptoad Add-on on the Hoptoadapp.com website
84
- 3. Click the "Profile" button in the header to edit your email address and notification settings.
83
+ 1. Visit your applications resources page, like [ http://api.heroku.com/myapps/my-great-app/resources ](http://api.heroku.com/myapps/my-great-app/resources).
84
+ 2. Click the name of your Airbrake addon. (It may still be called Hoptoad.)
85
+ 3. Click "Settings" to configure the Hoptoad Add-on.
85
86
 
86
87
  4. Optionally: Set up deploy notification
87
88
  -----------------------------------------
88
89
 
89
- If your Hoptoad plan supports deploy notification, set it up for your Heroku application like this:
90
+ If your Airbrake plan supports deploy notification, set it up for your Heroku application like this:
90
91
 
91
- rake hoptoad:heroku:add_deploy_notification
92
+ rake airbrake:heroku:add_deploy_notification
92
93
 
93
- This will install a Heroku [HTTP Deploy Hook](http://docs.heroku.com/deploy-hooks) to notify Hoptoad of the deploy.
94
+ This will install a Heroku [HTTP Deploy Hook](http://docs.heroku.com/deploy-hooks) to notify Airbrake of the deploy.