Permalink
Browse files

Merge branch 'master' of github.com:thoughtbot/hoptoad_notifier

Conflicts:
	README.md
	Rakefile
  • Loading branch information...
2 parents 5846faf + 51240c1 commit 5dfa7fc3ebfcb7691805f351163510f62212e4b7 Chad Pytel committed Jan 19, 2011
View
@@ -1,3 +1,138 @@
+Version 2.4.2 - Sun Jan 09 09:37:31 -0500 2011
+===============================================================================
+
+Matt Jankowski (1):
+ fix issue where the gsub to replace the html head with javascript was removing the head element entirely
+
+
+Version 2.4.1 - Sat Jan 08 12:17:15 -0500 2011
+===============================================================================
+
+Matt Jankowski (1):
+ restore method which may have been accidentally removed?
+
+
+Version 2.4.0 - Thu Jan 06 15:03:58 -0500 2011
+===============================================================================
+
+Jason Morrison (1):
+ Remove official support for very old Rails version going forward
+
+Version 2.3.14 - Wed Jan 05 14:06:12 -0500 2011
+===============================================================================
+
+Jason Morrison (1):
+ Fix 'require' path
+
+Version 2.3.13 - Mon Jan 03 15:56:20 -0500 2011
+===============================================================================
+
+Dan Croak (1):
+ including twiddle wakka in install instructions
+
+Emma Lindsay (5):
+ Sends more javascript information back to hoptaod
+ Merge branch 'js_notifier_default_fields'
+ Bumping to version 2.3.10
+ Updated jferris-mocha to bourne
+ Update readme to show quotes around error names in ignores
+
+Jason Morrison (8):
+ wip: Supply default url, component, action for JS notifier
+ gracefully fall back to require 'activesupport' if require 'active_support' fails
+ Add non-capistrano deploy instructions
+ Add instructions for heroku gem to Heroku addon README
+ Add AbstractController::ActionNotFound to default ignore list
+ Bumping to version 2.3.12
+ Bugfix: JS Notifier will now insert itself even when <head> tag has attributes
+ Add Heroku deploy notification
+
+Jon Yurek (11):
+ Require bourne, run right cucumber task
+ Get the API key from Heroku
+ Bumped version: 2.3.11
+ Getting green cucumber stories
+ Fakes out the heroku command for cucumber.
+ Mount the metal endpoint in Rails 3 tests.
+ Metal test mounts at /metal
+ Supported versions: 2.3.9, 2.3.10, and 3.0.1
+ Return non-zero on cucumber failure.
+ Controller info for older Rails-es is different.
+ Remove Rails 2.0.2 from official support. Added 3.0.2+3
+
+Trevor Turk (1):
+ Fix default ignores in the README
+
+
+Version 2.3.12 - Wed Nov 03 13:53:18 -0400 2010
+===============================================================================
+
+In general: Update gems, improve testing, improve documentation, improve
+javascript notifier.
+
+Emma Lindsay (4):
+ Sends more javascript information back to hoptaod
+ Merge branch 'js_notifier_default_fields'
+ Bumping to version 2.3.10
+ Updated jferris-mocha to bourne
+
+Jason Morrison (5):
+ wip: Supply default url, component, action for JS notifier
+ gracefully fall back to require 'activesupport' if require 'active_support' fails
+ Add non-capistrano deploy instructions
+ Add instructions for heroku gem to Heroku addon README
+ Add AbstractController::ActionNotFound to default ignore list
+
+Jon Yurek (9):
+ Require bourne, run right cucumber task
+ Get the API key from Heroku
+ Bumped version: 2.3.11
+ Getting green cucumber stories
+ Fakes out the heroku command for cucumber.
+ Mount the metal endpoint in Rails 3 tests.
+ Metal test mounts at /metal
+ Supported versions: 2.3.9, 2.3.10, and 3.0.1
+ Return non-zero on cucumber failure.
+
+
+Version 2.3.10 - Mon Oct 18 17:07:56 -0400 2010
+===============================================================================
+
+Emma Lindsay (2):
+ Sends more javascript information back to hoptaod
+ Merge branch 'js_notifier_default_fields'
+
+Jason Morrison (2):
+ wip: Supply default url, component, action for JS notifier
+ gracefully fall back to require 'activesupport' if require 'active_support' fails
+
+
+Version 2.3.9 - 2010-10-18
+===============================================================================
+
+This patch release contains a handful of bugfixes, and ensures:
+ If hoptoadapp.com is completely unreachable by HTTP, your app is not affected.
+ Controller method #notify_hoptoad is available in Rails 3. Thanks contributor Kyle Crum!
+
+Chad Pytel (1):
+ also handle Errno::ECONNREFUSED and other http errors
+
+Jason Morrison (4):
+ Add gem versions to test suite
+ Revert "Revert "attempt to debug mail sending on staging""
+ Adding Heroku notifier readme
+ gracefully fall back to require 'activesupport' if require 'active_support' fails
+
+Jon Yurek (2):
+ Bumping version to 2.3.8
+ Adds builder to the gemspec
+
+Kyle Crum (3):
+ notify_hoptoad now works in rails 3 controllers
+ more sane way of testing for rails 3 controller methods
+ added a scenario for using the notify_hoptoad method within a controller
+
+
Version 2.3.7 - 2010-09-15
===============================================================================
@@ -235,3 +370,11 @@ Nick Quaranto (3):
+
+
+
+
+
+
+
+
View
@@ -36,7 +36,7 @@ Remove the vendor/plugins/hoptoad_notifier directory before installing the gem,
Add the hoptoad_notifier gem to your Gemfile. In Gemfile:
- gem 'hoptoad_notifier'
+ gem "hoptoad_notifier", "~> 2.3"
Then from your project's RAILS_ROOT, run:
@@ -243,6 +243,11 @@ When Hoptoad is installed as a gem, you need to add
to your deploy.rb
+If you don't use Capistrano, then you can use the following rake task from your
+deployment process to notify Hoptoad:
+
+ rake hoptoad:deploy TO=#{rails_env} REVISION=#{current_revision} REPO=#{repository} USER=#{local_user}
+
Going beyond exceptions
-----------------------
@@ -304,6 +309,7 @@ notifications (when #notify is called directly).
Hoptoad ignores the following exceptions by default:
+ AbstractController::ActionNotFound
ActiveRecord::RecordNotFound
ActionController::RoutingError
ActionController::InvalidAuthenticityToken
@@ -315,15 +321,15 @@ configuration block.
HoptoadNotifier.configure do |config|
config.api_key = '1234567890abcdef'
- config.ignore << ActiveRecord::IgnoreThisError
+ config.ignore << "ActiveRecord::IgnoreThisError"
end
To ignore *only* certain errors (and override the defaults), use the
#ignore_only attribute.
HoptoadNotifier.configure do |config|
config.api_key = '1234567890abcdef'
- config.ignore_only = [ActiveRecord::IgnoreThisError]
+ config.ignore_only = ["ActiveRecord::IgnoreThisError"]
end
To ignore certain user agents, add in the #ignore_user_agent attribute as a
@@ -0,0 +1,93 @@
+Hoptoad
+===========
+Send your application errors to our hosted service and reclaim your inbox.
+
+1. Installing the Heroku add-on
+----------------------------
+To use Hoptoad on Heroku, install the Hoptoad add-on:
+
+ $ heroku addons:add hoptoad:basic # This adds the the basic plan.
+ # If you'd like another plan, specify that instead.
+
+2. Including the Hoptoad notifier in your application
+--------------------------------------------------
+After adding the Hoptoad add-on, you will need to install and configure the Hoptoad notifier.
+
+Your application connects to Hoptoad with an API key. On Heroku, this is automatically provided to your
+application in `ENV['HOPTOAD_API_KEY']`, so installation should be a snap!
+
+### Rails 3.x
+
+Add the hoptoad_notifier and heroku gems to your Gemfile. In Gemfile:
+
+ gem 'hoptoad_notifier'
+ gem 'heroku'
+
+Then from your project's RAILS_ROOT, run:
+
+ $ bundle install
+ $ script/rails generate hoptoad --heroku
+
+### Rails 2.x
+
+Install the heroku gem if you haven't already:
+
+ gem install heroku
+
+Add the hoptoad_notifier gem to your app. In config/environment.rb:
+
+ config.gem 'hoptoad_notifier'
+
+Then from your project's RAILS_ROOT, run:
+
+ $ rake gems:install
+ $ rake gems:unpack GEM=hoptoad_notifier
+ $ script/generate hoptoad --heroku
+
+As always, if you choose not to vendor the hoptoad_notifier gem, make sure
+every server you deploy to has the gem installed or your application won't start.
+
+### Rack applications
+
+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:
+
+ require 'rubygems'
+ require 'rack'
+ require 'hoptoad_notifier'
+
+ HoptoadNotifier.configure do |config|
+ config.api_key = `ENV['HOPTOAD_API_KEY']`
+ end
+
+ app = Rack::Builder.app do
+ use HoptoadNotifier::Rack
+ run lambda { |env| raise "Rack down" }
+ end
+
+### Rails 1.x
+
+For Rails 1.x, visit the [Hoptoad notifier's README on GitHub](http://github.com/thoughtbot/hoptoad_notifier),
+and be sure to use `ENV['HOPTOAD_API_KEY']` where your API key is required in configuration code.
+
+3. Configure your notification settings (important!)
+---------------------------------------------------
+
+Once you have included and configured the notifier in your application,
+you will want to configure your notification settings.
+
+This is important - without setting your email address, you won't receive notification emails.
+
+Hoptoad can deliver exception notifications to your email inbox. To configure these delivery settings:
+
+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)
+2. Click "Go to Hoptoad admin" to configure the Hoptoad Add-on on the Hoptoadapp.com website
+3. Click the "Profile" button in the header to edit your email address and notification settings.
+
+4. Optionally: Set up deploy notification
+-----------------------------------------
+
+If your Hoptoad plan supports deploy notification, set it up for your Heroku application like this:
+
+ rake hoptoad:heroku:add_deploy_notification
+
+This will install a Heroku [HTTP Deploy Hook](http://docs.heroku.com/deploy-hooks) to notify Hoptoad of the deploy.
View
@@ -5,7 +5,7 @@ require 'rake/gempackagetask'
require 'cucumber/rake/task'
desc 'Default: run unit tests.'
-task :default => [:test, :cucumber]
+task :default => [:test, "cucumber:rails:all"]
desc 'Test the hoptoad_notifier gem.'
Rake::TestTask.new(:test) do |t|
@@ -66,7 +66,7 @@ EOF
File.open(file, "w") do |f|
f.write <<EOF
-Version #{version} - #{Date.today}
+Version #{version} - #{Time.now}
===============================================================================
#{`git log $(git tag | tail -1)..HEAD | git shortlog`}
@@ -123,10 +123,11 @@ gemspec = Gem::Specification.new do |s|
s.require_path = 'lib'
s.test_files = Dir[*['test/**/*_test.rb']]
+ s.add_runtime_dependency("builder")
s.add_runtime_dependency("activesupport")
s.add_development_dependency("activerecord")
s.add_development_dependency("actionpack")
- s.add_development_dependency("jferris-mocha")
+ s.add_development_dependency("bourne")
s.add_development_dependency("nokogiri")
s.add_development_dependency("shoulda")
@@ -187,22 +188,32 @@ end
task :cucumber => [:gemspec, :vendor_test_gems]
+def run_rails_cucumbr_task(version, additional_cucumber_args)
+ puts "Testing Rails #{version}"
+ if version.empty?
+ raise "No Rails version specified - make sure ENV['RAILS_VERSION'] is set, e.g. with `rake cucumber:rails:all`"
+ end
+ ENV['RAILS_VERSION'] = version
+ system("cucumber --format #{ENV['CUCUMBER_FORMAT'] || 'progress'} #{additional_cucumber_args} features/rails.feature features/rails_with_js_notifier.feature")
+end
+
def define_rails_cucumber_tasks(additional_cucumber_args = '')
namespace :rails do
RAILS_VERSIONS.each do |version|
desc "Test integration of the gem with Rails #{version}"
task version => [:gemspec, :vendor_test_gems] do
- puts "Testing Rails #{version}"
- if version.empty?
- raise "No Rails version specified - make sure ENV['RAILS_VERSION'] is set, e.g. with `rake cucumber:rails:all`"
- end
- ENV['RAILS_VERSION'] = version
- system("cucumber --format #{ENV['CUCUMBER_FORMAT'] || 'progress'} #{additional_cucumber_args} features/rails.feature features/rails_with_js_notifier.feature")
+ exit 1 unless run_rails_cucumbr_task(version, additional_cucumber_args)
end
end
desc "Test integration of the gem with all Rails versions"
- task :all => RAILS_VERSIONS
+ task :all do
+ results = RAILS_VERSIONS.map do |version|
+ run_rails_cucumbr_task(version, additional_cucumber_args)
+ end
+
+ exit 1 unless results.all?
+ end
end
end
@@ -1,10 +1,10 @@
-1.2.6
-2.0.2
-2.1.0
-2.1.2
-2.2.2
2.3.2
2.3.4
2.3.5
2.3.8
+2.3.9
+2.3.10
3.0.0
+3.0.1
+3.0.2
+3.0.3
@@ -14,10 +14,10 @@ Feature: Rescue errors in Rails middleware
raise "Explode"
end
"""
- When I perform a request to "http://example.com:123/test/index?param=value"
+ When I perform a request to "http://example.com:123/metal/index?param=value"
Then I should receive the following Hoptoad notification:
| error message | RuntimeError: Explode |
| error class | RuntimeError |
| parameters | param: value |
- | url | http://example.com:123/test/index?param=value |
+ | url | http://example.com:123/metal/index?param=value |
Oops, something went wrong.

0 comments on commit 5dfa7fc

Please sign in to comment.