hoptoad_notifier 2.1.0 → 2.1.1

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.
data/Rakefile CHANGED
@@ -41,7 +41,7 @@ gemspec = Gem::Specification.new do |s|
41
41
  s.summary = %q{Send your application errors to our hosted service and reclaim your inbox.}
42
42
 
43
43
  s.files = FileList['[A-Z]*', 'generators/**/*.*', 'lib/**/*.rb',
44
- 'test/**/*.rb', 'rails/**/*.rb', 'tasks/**/*.rake']
44
+ 'test/**/*.rb', 'rails/**/*.rb', 'script/*']
45
45
  s.require_path = 'lib'
46
46
  s.test_files = Dir[*['test/**/*_test.rb']]
47
47
 
@@ -4,5 +4,5 @@
4
4
  2.1.2
5
5
  2.2.2
6
6
  2.3.2
7
- 2.3.3
8
7
  2.3.4
8
+ 2.3.5
@@ -15,7 +15,7 @@ class HoptoadGenerator < Rails::Generator::Base
15
15
  m.directory 'lib/tasks'
16
16
  m.file 'hoptoad_notifier_tasks.rake', 'lib/tasks/hoptoad_notifier_tasks.rake'
17
17
  if File.exists?('config/deploy.rb')
18
- m.append_to 'config/deploy.rb', "require 'hoptoad_notifier/capistrano'"
18
+ m.append_to 'config/deploy.rb', capistrano_hook
19
19
  end
20
20
  if options[:api_key]
21
21
  if use_initializer?
@@ -39,4 +39,8 @@ class HoptoadGenerator < Rails::Generator::Base
39
39
  File.exists?('config/initializers/hoptoad.rb') ||
40
40
  system("grep HoptoadNotifier config/environment.rb")
41
41
  end
42
+
43
+ def capistrano_hook
44
+ IO.read(source_path('capistrano_hook.rb'))
45
+ end
42
46
  end
@@ -0,0 +1,6 @@
1
+
2
+ Dir[File.join(File.dirname(__FILE__), '..', 'vendor', 'gems', 'hoptoad_notifier-*')].each do |vendored_notifier|
3
+ $: << File.join(vendored_notifier, 'lib')
4
+ end
5
+
6
+ require 'hoptoad_notifier/capistrano'
@@ -1,3 +1,3 @@
1
1
  module HoptoadNotifier
2
- VERSION = "2.1.0".freeze
2
+ VERSION = "2.1.1".freeze
3
3
  end
@@ -0,0 +1,38 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'logger'
4
+ require 'fileutils'
5
+
6
+ RAILS_ENV = "production"
7
+ RAILS_ROOT = FileUtils.pwd
8
+ RAILS_DEFAULT_LOGGER = Logger.new(STDOUT)
9
+
10
+ $: << File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib'))
11
+ require 'hoptoad_notifier'
12
+ require 'rails/init'
13
+
14
+ fail "Please supply an API Key as the first argument" if ARGV.empty?
15
+
16
+ host = ARGV[1]
17
+ host ||= "hoptoadapp.com"
18
+
19
+ secure = (ARGV[2] == "secure")
20
+
21
+ exception = begin
22
+ raise "Testing hoptoad notifier with secure = #{secure}. If you can see this, it works."
23
+ rescue => foo
24
+ foo
25
+ end
26
+
27
+ HoptoadNotifier.configure do |config|
28
+ config.secure = secure
29
+ config.host = host
30
+ config.api_key = ARGV.first
31
+ end
32
+ puts "Configuration:"
33
+ HoptoadNotifier.configuration.to_hash.each do |key, value|
34
+ puts sprintf("%25s: %s", key.to_s, value.inspect.slice(0, 55))
35
+ end
36
+ puts "Sending #{secure ? "" : "in"}secure notification to project with key #{ARGV.first}"
37
+ HoptoadNotifier.notify(exception)
38
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hoptoad_notifier
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 2.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - thoughtbot, inc
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2010-01-19 00:00:00 -05:00
12
+ date: 2010-01-20 00:00:00 -05:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -31,6 +31,7 @@ files:
31
31
  - generators/hoptoad/hoptoad_generator.rb
32
32
  - generators/hoptoad/lib/insert_commands.rb
33
33
  - generators/hoptoad/lib/rake_commands.rb
34
+ - generators/hoptoad/templates/capistrano_hook.rb
34
35
  - generators/hoptoad/templates/hoptoad_notifier_tasks.rake
35
36
  - generators/hoptoad/templates/initializer.rb
36
37
  - lib/hoptoad_notifier/backtrace.rb
@@ -56,7 +57,7 @@ files:
56
57
  - test/rails_initializer_test.rb
57
58
  - test/sender_test.rb
58
59
  - rails/init.rb
59
- - tasks/hoptoad_notifier_tasks.rake
60
+ - script/integration_test.rb
60
61
  has_rdoc: true
61
62
  homepage: http://www.hoptoadapp.com
62
63
  licenses: []
@@ -1,89 +0,0 @@
1
- namespace :hoptoad do
2
- desc "Notify Hoptoad of a new deploy."
3
- task :deploy => :environment do
4
- require 'hoptoad_tasks'
5
- HoptoadTasks.deploy(:rails_env => ENV['TO'],
6
- :scm_revision => ENV['REVISION'],
7
- :scm_repository => ENV['REPO'],
8
- :local_username => ENV['USER'],
9
- :api_key => ENV['API_KEY'])
10
- end
11
-
12
- task :log_stdout do
13
- require 'logger'
14
- RAILS_DEFAULT_LOGGER = Logger.new(STDOUT)
15
- end
16
-
17
- desc "Verify your gem installation by sending a test exception to the hoptoad service"
18
- task :test => ['hoptoad:log_stdout', :environment] do
19
- RAILS_DEFAULT_LOGGER.level = Logger::DEBUG
20
-
21
- require 'action_controller/test_process'
22
- require 'app/controllers/application' if File.exists?('app/controllers/application.rb')
23
-
24
- request = ActionController::TestRequest.new
25
- response = ActionController::TestResponse.new
26
-
27
- class HoptoadTestingException < RuntimeError; end
28
-
29
- unless HoptoadNotifier.configuration.api_key
30
- puts "Hoptoad needs an API key configured! Check the README to see how to add it."
31
- exit
32
- end
33
-
34
- HoptoadNotifier.configuration.development_environments = []
35
-
36
- in_controller = ApplicationController.included_modules.include? HoptoadNotifier::Catcher
37
- in_base = ActionController::Base.included_modules.include? HoptoadNotifier::Catcher
38
- if !in_controller || !in_base
39
- puts "HoptoadNotifier::Catcher must be included inside your ApplicationController class."
40
- exit
41
- end
42
-
43
- puts "Configuration:"
44
- HoptoadNotifier.configuration.to_hash.each do |key, value|
45
- puts sprintf("%25s: %s", key.to_s, value.inspect.slice(0, 55))
46
- end
47
-
48
- puts 'Setting up the Controller.'
49
- class ApplicationController
50
- # This is to bypass any filters that may prevent access to the action.
51
- prepend_before_filter :test_hoptoad
52
- def test_hoptoad
53
- puts "Raising '#{exception_class.name}' to simulate application failure."
54
- raise exception_class.new, 'Testing hoptoad via "rake hoptoad:test". If you can see this, it works.'
55
- end
56
-
57
- def rescue_action exception
58
- rescue_action_in_public exception
59
- end
60
-
61
- # Ensure we actually have an action to go to.
62
- def verify; end
63
-
64
- def consider_all_requests_local
65
- false
66
- end
67
-
68
- def local_request?
69
- false
70
- end
71
-
72
- def exception_class
73
- exception_name = ENV['EXCEPTION'] || "HoptoadTestingException"
74
- Object.const_get(exception_name)
75
- rescue
76
- Object.const_set(exception_name, Class.new(Exception))
77
- end
78
-
79
- def logger
80
- nil
81
- end
82
- end
83
-
84
- puts 'Processing request.'
85
- class HoptoadVerificationController < ApplicationController; end
86
- HoptoadVerificationController.new.process(request, response)
87
- end
88
- end
89
-