errornot_notifier 0.1.0 → 1.0.0

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.
Files changed (45) hide show
  1. data/CHANGELOG +5 -0
  2. data/INSTALL +8 -8
  3. data/README.rdoc +63 -53
  4. data/Rakefile +92 -8
  5. data/TESTING.rdoc +1 -1
  6. data/generators/{hoptoad/hoptoad_generator.rb → errornot/errornot_generator.rb} +6 -6
  7. data/generators/{hoptoad → errornot}/lib/insert_commands.rb +0 -0
  8. data/generators/{hoptoad → errornot}/lib/rake_commands.rb +0 -0
  9. data/generators/errornot/templates/capistrano_hook.rb +6 -0
  10. data/generators/errornot/templates/errornot_notifier_tasks.rake +5 -0
  11. data/generators/{hoptoad → errornot}/templates/initializer.rb +2 -2
  12. data/lib/{hoptoad_notifier → errornot_notifier}/backtrace.rb +1 -1
  13. data/lib/errornot_notifier/capistrano.rb +20 -0
  14. data/lib/{hoptoad_notifier → errornot_notifier}/configuration.rb +14 -16
  15. data/lib/{hoptoad_notifier → errornot_notifier}/notice.rb +2 -2
  16. data/lib/{hoptoad_notifier → errornot_notifier}/rack.rb +8 -8
  17. data/lib/{hoptoad_notifier → errornot_notifier}/rails/action_controller_catcher.rb +9 -9
  18. data/lib/{hoptoad_notifier → errornot_notifier}/rails/controller_methods.rb +15 -15
  19. data/lib/{hoptoad_notifier → errornot_notifier}/rails/error_lookup.rb +9 -9
  20. data/lib/{hoptoad_notifier → errornot_notifier}/rails.rb +11 -11
  21. data/lib/{hoptoad_notifier → errornot_notifier}/sender.rb +8 -8
  22. data/lib/{hoptoad_notifier → errornot_notifier}/tasks.rb +19 -19
  23. data/lib/errornot_notifier/version.rb +3 -0
  24. data/lib/{hoptoad_notifier.rb → errornot_notifier.rb} +20 -20
  25. data/lib/{hoptoad_tasks.rb → errornot_tasks.rb} +9 -7
  26. data/lib/templates/rescue.erb +5 -5
  27. data/rails/init.rb +1 -1
  28. data/script/integration_test.rb +6 -6
  29. data/test/backtrace_test.rb +16 -16
  30. data/test/catcher_test.rb +22 -22
  31. data/test/configuration_test.rb +21 -23
  32. data/test/erronot_tasks_test.rb +147 -0
  33. data/test/helper.rb +16 -15
  34. data/test/logger_test.rb +12 -10
  35. data/test/notice_test.rb +9 -9
  36. data/test/notifier_test.rb +30 -30
  37. data/test/rack_test.rb +7 -7
  38. data/test/rails_initializer_test.rb +8 -8
  39. data/test/sender_test.rb +13 -12
  40. metadata +73 -53
  41. data/generators/hoptoad/templates/capistrano_hook.rb +0 -6
  42. data/generators/hoptoad/templates/hoptoad_notifier_tasks.rake +0 -5
  43. data/lib/hoptoad_notifier/capistrano.rb +0 -20
  44. data/lib/hoptoad_notifier/version.rb +0 -3
  45. data/test/hoptoad_tasks_test.rb +0 -138
@@ -1,4 +1,4 @@
1
- module HoptoadNotifier
1
+ module ErrornotNotifier
2
2
  # Used to set up and modify settings for the notifier.
3
3
  class Configuration
4
4
 
@@ -12,11 +12,11 @@ module HoptoadNotifier
12
12
  # The API key for your project, found on the project edit form.
13
13
  attr_accessor :api_key
14
14
 
15
- # The host to connect to (defaults to hoptoadapp.com).
15
+ # The host to connect, there are no default value
16
16
  attr_accessor :host
17
17
 
18
- # The port on which your Hoptoad server runs (defaults to 443 for secure
19
- # connections, 80 for insecure connections).
18
+ # The port on which your Errornot server runs we can advise to
19
+ # prefere 443 for a secure connection
20
20
  attr_accessor :port
21
21
 
22
22
  # +true+ for https connections, +false+ for http connections.
@@ -40,7 +40,7 @@ module HoptoadNotifier
40
40
  # The password to use when logging into your proxy server (if using a proxy)
41
41
  attr_accessor :proxy_pass
42
42
 
43
- # A list of parameters that should be filtered out of what is sent to Hoptoad.
43
+ # A list of parameters that should be filtered out of what is sent to Errornot.
44
44
  # By default, all "password" attributes will have their contents replaced.
45
45
  attr_reader :params_filters
46
46
 
@@ -68,7 +68,7 @@ module HoptoadNotifier
68
68
  # The path to the project in which the error occurred, such as the RAILS_ROOT
69
69
  attr_accessor :project_root
70
70
 
71
- # The name of the notifier library being used to send notifications (such as "Hoptoad Notifier")
71
+ # The name of the notifier library being used to send notifications (such as "Errornot Notifier")
72
72
  attr_accessor :notifier_name
73
73
 
74
74
  # The version of the notifier library being used to send notifications (such as "1.0.2")
@@ -77,18 +77,18 @@ module HoptoadNotifier
77
77
  # The url of the notifier library being used to send notifications
78
78
  attr_accessor :notifier_url
79
79
 
80
- # The logger used by HoptoadNotifier
80
+ # The logger used by ErrornotNotifier
81
81
  attr_accessor :logger
82
82
 
83
- # The framework HoptoadNotifier is configured to use
83
+ # The framework ErrornotNotifier is configured to use
84
84
  attr_accessor :framework
85
85
 
86
86
  DEFAULT_PARAMS_FILTERS = %w(password password_confirmation).freeze
87
87
 
88
88
  DEFAULT_BACKTRACE_FILTERS = [
89
89
  lambda { |line|
90
- if defined?(HoptoadNotifier.configuration.project_root) && HoptoadNotifier.configuration.project_root.to_s != ''
91
- line.gsub(/#{HoptoadNotifier.configuration.project_root}/, "[PROJECT_ROOT]")
90
+ if defined?(ErrornotNotifier.configuration.project_root) && ErrornotNotifier.configuration.project_root.to_s != ''
91
+ line.gsub(/#{ErrornotNotifier.configuration.project_root}/, "[PROJECT_ROOT]")
92
92
  else
93
93
  line
94
94
  end
@@ -101,7 +101,7 @@ module HoptoadNotifier
101
101
  end
102
102
  end
103
103
  },
104
- lambda { |line| line if line !~ %r{lib/hoptoad_notifier} }
104
+ lambda { |line| line if line !~ %r{lib/errornot_notifier} }
105
105
  ].freeze
106
106
 
107
107
  IGNORE_DEFAULT = ['ActiveRecord::RecordNotFound',
@@ -114,7 +114,6 @@ module HoptoadNotifier
114
114
 
115
115
  def initialize
116
116
  @secure = false
117
- @host = 'hoptoadapp.com'
118
117
  @http_open_timeout = 2
119
118
  @http_read_timeout = 5
120
119
  @params_filters = DEFAULT_PARAMS_FILTERS.dup
@@ -124,9 +123,8 @@ module HoptoadNotifier
124
123
  @ignore_user_agent = []
125
124
  @development_environments = %w(development test cucumber)
126
125
  @development_lookup = true
127
- @notifier_name = 'Hoptoad Notifier'
126
+ @notifier_name = 'Errornot Notifier'
128
127
  @notifier_version = VERSION
129
- @notifier_url = 'http://hoptoadapp.com'
130
128
  @framework = 'Standalone'
131
129
  end
132
130
 
@@ -153,8 +151,8 @@ module HoptoadNotifier
153
151
  # end
154
152
  #
155
153
  # @param [Proc] block The new ignore filter
156
- # @yieldparam [Hash] data The exception data given to +HoptoadNotifier.notify+
157
- # @yieldreturn [Boolean] If the block returns true the exception will be ignored, otherwise it will be processed by hoptoad.
154
+ # @yieldparam [Hash] data The exception data given to +ErrornotNotifier.notify+
155
+ # @yieldreturn [Boolean] If the block returns true the exception will be ignored, otherwise it will be processed by Errornot.
158
156
  def ignore_by_filter(&block)
159
157
  self.ignore_by_filters << block
160
158
  end
@@ -1,4 +1,4 @@
1
- module HoptoadNotifier
1
+ module ErrornotNotifier
2
2
  class Notice
3
3
 
4
4
  # The exception that caused this notice, if any
@@ -54,7 +54,7 @@ module HoptoadNotifier
54
54
  # See Configuration#ignore_by_filters
55
55
  attr_reader :ignore_by_filters
56
56
 
57
- # The name of the notifier library sending this notice, such as "Hoptoad Notifier"
57
+ # The name of the notifier library sending this notice, such as "Errornot Notifier"
58
58
  attr_reader :notifier_name
59
59
 
60
60
  # The version number of the notifier library sending this notice, such as "2.1.3"
@@ -1,22 +1,22 @@
1
- module HoptoadNotifier
1
+ module ErrornotNotifier
2
2
  # Middleware for Rack applications. Any errors raised by the upstream
3
- # application will be delivered to Hoptoad and re-raised.
3
+ # application will be delivered to Errornot and re-raised.
4
4
  #
5
5
  # Synopsis:
6
6
  #
7
7
  # require 'rack'
8
- # require 'hoptoad_notifier'
8
+ # require 'errornot_notifier'
9
9
  #
10
- # HoptoadNotifier.configure do |config|
10
+ # ErrornotNotifier.configure do |config|
11
11
  # config.api_key = 'my_api_key'
12
12
  # end
13
13
  #
14
14
  # app = Rack::Builder.app do
15
- # use HoptoadNotifier::Rack
15
+ # use ErrornotNotifier::Rack
16
16
  # run lambda { |env| raise "Rack down" }
17
17
  # end
18
18
  #
19
- # Use a standard HoptoadNotifier.configure call to configure your api key.
19
+ # Use a standard ErrornotNotifier.configure call to configure your api key.
20
20
  class Rack
21
21
  def initialize(app)
22
22
  @app = app
@@ -26,12 +26,12 @@ module HoptoadNotifier
26
26
  begin
27
27
  response = @app.call(env)
28
28
  rescue Exception => raised
29
- HoptoadNotifier.notify_or_ignore(raised, :rack_env => env)
29
+ ErrornotNotifier.notify_or_ignore(raised, :rack_env => env)
30
30
  raise
31
31
  end
32
32
 
33
33
  if env['rack.exception']
34
- HoptoadNotifier.notify_or_ignore(env['rack.exception'], :rack_env => env)
34
+ ErrornotNotifier.notify_or_ignore(env['rack.exception'], :rack_env => env)
35
35
  end
36
36
 
37
37
  response
@@ -1,28 +1,28 @@
1
- module HoptoadNotifier
1
+ module ErrornotNotifier
2
2
  module Rails
3
3
  module ActionControllerCatcher
4
4
 
5
5
  # Sets up an alias chain to catch exceptions when Rails does
6
6
  def self.included(base) #:nodoc:
7
- base.send(:alias_method, :rescue_action_in_public_without_hoptoad, :rescue_action_in_public)
8
- base.send(:alias_method, :rescue_action_in_public, :rescue_action_in_public_with_hoptoad)
7
+ base.send(:alias_method, :rescue_action_in_public_without_errornot, :rescue_action_in_public)
8
+ base.send(:alias_method, :rescue_action_in_public, :rescue_action_in_public_with_errornot)
9
9
  end
10
10
 
11
11
  private
12
12
 
13
13
  # Overrides the rescue_action method in ActionController::Base, but does not inhibit
14
14
  # any custom processing that is defined with Rails 2's exception helpers.
15
- def rescue_action_in_public_with_hoptoad(exception)
16
- unless hoptoad_ignore_user_agent?
17
- HoptoadNotifier.notify_or_ignore(exception, hoptoad_request_data)
15
+ def rescue_action_in_public_with_errornot(exception)
16
+ unless errornot_ignore_user_agent?
17
+ ErrornotNotifier.notify_or_ignore(exception, errornot_request_data)
18
18
  end
19
- rescue_action_in_public_without_hoptoad(exception)
19
+ rescue_action_in_public_without_errornot(exception)
20
20
  end
21
21
 
22
- def hoptoad_ignore_user_agent? #:nodoc:
22
+ def errornot_ignore_user_agent? #:nodoc:
23
23
  # Rails 1.2.6 doesn't have request.user_agent, so check for it here
24
24
  user_agent = request.respond_to?(:user_agent) ? request.user_agent : request.env["HTTP_USER_AGENT"]
25
- HoptoadNotifier.configuration.ignore_user_agent.flatten.any? { |ua| ua === user_agent }
25
+ ErrornotNotifier.configuration.ignore_user_agent.flatten.any? { |ua| ua === user_agent }
26
26
  end
27
27
  end
28
28
  end
@@ -1,33 +1,33 @@
1
- module HoptoadNotifier
1
+ module ErrornotNotifier
2
2
  module Rails
3
3
  module ControllerMethods
4
4
  private
5
5
 
6
6
  # This method should be used for sending manual notifications while you are still
7
- # inside the controller. Otherwise it works like HoptoadNotifier.notify.
8
- def notify_hoptoad(hash_or_exception)
7
+ # inside the controller. Otherwise it works like ErrornotNotifier.notify.
8
+ def notify_errornot(hash_or_exception)
9
9
  unless consider_all_requests_local || local_request?
10
- HoptoadNotifier.notify(hash_or_exception, hoptoad_request_data)
10
+ ErrornotNotifier.notify(hash_or_exception, errornot_request_data)
11
11
  end
12
12
  end
13
13
 
14
- def hoptoad_ignore_user_agent? #:nodoc:
14
+ def errornot_ignore_user_agent? #:nodoc:
15
15
  # Rails 1.2.6 doesn't have request.user_agent, so check for it here
16
16
  user_agent = request.respond_to?(:user_agent) ? request.user_agent : request.env["HTTP_USER_AGENT"]
17
- HoptoadNotifier.configuration.ignore_user_agent.flatten.any? { |ua| ua === user_agent }
17
+ ErrornotNotifier.configuration.ignore_user_agent.flatten.any? { |ua| ua === user_agent }
18
18
  end
19
19
 
20
- def hoptoad_request_data
21
- { :parameters => hoptoad_filter_if_filtering(params.to_hash),
22
- :session_data => hoptoad_session_data,
20
+ def errornot_request_data
21
+ { :parameters => errornot_filter_if_filtering(params.to_hash),
22
+ :session_data => errornot_session_data,
23
23
  :controller => params[:controller],
24
24
  :action => params[:action],
25
- :url => hoptoad_request_url,
26
- :cgi_data => hoptoad_filter_if_filtering(request.env),
27
- :environment_vars => hoptoad_filter_if_filtering(ENV) }
25
+ :url => errornot_request_url,
26
+ :cgi_data => errornot_filter_if_filtering(request.env),
27
+ :environment_vars => errornot_filter_if_filtering(ENV) }
28
28
  end
29
29
 
30
- def hoptoad_filter_if_filtering(hash)
30
+ def errornot_filter_if_filtering(hash)
31
31
  if respond_to?(:filter_parameters)
32
32
  filter_parameters(hash) rescue hash
33
33
  else
@@ -35,7 +35,7 @@ module HoptoadNotifier
35
35
  end
36
36
  end
37
37
 
38
- def hoptoad_session_data
38
+ def errornot_session_data
39
39
  if session.respond_to?(:to_hash)
40
40
  session.to_hash
41
41
  else
@@ -43,7 +43,7 @@ module HoptoadNotifier
43
43
  end
44
44
  end
45
45
 
46
- def hoptoad_request_url
46
+ def errornot_request_url
47
47
  url = "#{request.protocol}#{request.host}"
48
48
 
49
49
  unless [80, 443].include?(request.port)
@@ -1,27 +1,27 @@
1
- module HoptoadNotifier
1
+ module ErrornotNotifier
2
2
  module Rails
3
3
  module ErrorLookup
4
4
 
5
5
  # Sets up an alias chain to catch exceptions when Rails does
6
6
  def self.included(base) #:nodoc:
7
- base.send(:alias_method, :rescue_action_locally_without_hoptoad, :rescue_action_locally)
8
- base.send(:alias_method, :rescue_action_locally, :rescue_action_locally_with_hoptoad)
7
+ base.send(:alias_method, :rescue_action_locally_without_errornot, :rescue_action_locally)
8
+ base.send(:alias_method, :rescue_action_locally, :rescue_action_locally_with_errornot)
9
9
  end
10
10
 
11
11
  private
12
12
 
13
- def rescue_action_locally_with_hoptoad(exception)
14
- result = rescue_action_locally_without_hoptoad(exception)
13
+ def rescue_action_locally_with_errornot(exception)
14
+ result = rescue_action_locally_without_errornot(exception)
15
15
 
16
- if HoptoadNotifier.configuration.development_lookup
16
+ if ErrornotNotifier.configuration.development_lookup
17
17
  path = File.join(File.dirname(__FILE__), '..', '..', 'templates', 'rescue.erb')
18
- notice = HoptoadNotifier.build_lookup_hash_for(exception, hoptoad_request_data)
18
+ notice = ErrornotNotifier.build_lookup_hash_for(exception, errornot_request_data)
19
19
 
20
20
  result << @template.render(
21
21
  :file => path,
22
22
  :use_full_path => false,
23
- :locals => { :host => HoptoadNotifier.configuration.host,
24
- :api_key => HoptoadNotifier.configuration.api_key,
23
+ :locals => { :host => ErrornotNotifier.configuration.host,
24
+ :api_key => ErrornotNotifier.configuration.api_key,
25
25
  :notice => notice })
26
26
  end
27
27
 
@@ -1,15 +1,15 @@
1
- require 'hoptoad_notifier'
2
- require 'hoptoad_notifier/rails/controller_methods'
3
- require 'hoptoad_notifier/rails/action_controller_catcher'
4
- require 'hoptoad_notifier/rails/error_lookup'
1
+ require 'errornot_notifier'
2
+ require 'errornot_notifier/rails/controller_methods'
3
+ require 'errornot_notifier/rails/action_controller_catcher'
4
+ require 'errornot_notifier/rails/error_lookup'
5
5
 
6
- module HoptoadNotifier
6
+ module ErrornotNotifier
7
7
  module Rails
8
8
  def self.initialize
9
9
  if defined?(ActionController::Base)
10
- ActionController::Base.send(:include, HoptoadNotifier::Rails::ActionControllerCatcher)
11
- ActionController::Base.send(:include, HoptoadNotifier::Rails::ErrorLookup)
12
- ActionController::Base.send(:include, HoptoadNotifier::Rails::ControllerMethods)
10
+ ActionController::Base.send(:include, ErrornotNotifier::Rails::ActionControllerCatcher)
11
+ ActionController::Base.send(:include, ErrornotNotifier::Rails::ErrorLookup)
12
+ ActionController::Base.send(:include, ErrornotNotifier::Rails::ControllerMethods)
13
13
  end
14
14
 
15
15
  rails_logger = if defined?(::Rails.logger)
@@ -20,10 +20,10 @@ module HoptoadNotifier
20
20
 
21
21
  if defined?(::Rails.configuration) && ::Rails.configuration.respond_to?(:middleware)
22
22
  ::Rails.configuration.middleware.insert_after 'ActionController::Failsafe',
23
- HoptoadNotifier::Rack
23
+ ErrornotNotifier::Rack
24
24
  end
25
25
 
26
- HoptoadNotifier.configure(true) do |config|
26
+ ErrornotNotifier.configure(true) do |config|
27
27
  config.logger = rails_logger
28
28
  config.environment_name = RAILS_ENV if defined?(RAILS_ENV)
29
29
  config.project_root = RAILS_ROOT if defined?(RAILS_ROOT)
@@ -33,5 +33,5 @@ module HoptoadNotifier
33
33
  end
34
34
  end
35
35
 
36
- HoptoadNotifier::Rails.initialize
36
+ ErrornotNotifier::Rails.initialize
37
37
 
@@ -1,5 +1,5 @@
1
- module HoptoadNotifier
2
- # Sends out the notice to Hoptoad
1
+ module ErrornotNotifier
2
+ # Sends out the notice to Errornot
3
3
  class Sender
4
4
 
5
5
  NOTICES_URI = '/errors'.freeze
@@ -30,10 +30,10 @@ module HoptoadNotifier
30
30
  end
31
31
 
32
32
 
33
- # Sends the notice data off to Hoptoad for processing.
33
+ # Sends the notice data off to Errornot for processing.
34
34
  #
35
35
  # @param [String] data The XML notice to be sent off
36
- def send_to_hoptoad(data)
36
+ def send_to_errornot(data)
37
37
  logger.debug { "Sending request to #{url.to_s}:\n#{data}" } if logger
38
38
 
39
39
  http =
@@ -50,7 +50,7 @@ module HoptoadNotifier
50
50
  data = process_payload(data)
51
51
  http.post(url.path, data, HEADERS)
52
52
  rescue TimeoutError => e
53
- log :error, "Timeout while contacting the Hoptoad server."
53
+ log :error, "Timeout while contacting the Errornot server."
54
54
  nil
55
55
  end
56
56
 
@@ -73,12 +73,12 @@ module HoptoadNotifier
73
73
 
74
74
  def log(level, message, response = nil)
75
75
  logger.send level, LOG_PREFIX + message if logger
76
- HoptoadNotifier.report_environment_info
77
- HoptoadNotifier.report_response_body(response.body) if response && response.respond_to?(:body)
76
+ ErrornotNotifier.report_environment_info
77
+ ErrornotNotifier.report_response_body(response.body) if response && response.respond_to?(:body)
78
78
  end
79
79
 
80
80
  def logger
81
- HoptoadNotifier.logger
81
+ ErrornotNotifier.logger
82
82
  end
83
83
 
84
84
  end
@@ -1,10 +1,10 @@
1
- require 'hoptoad_notifier'
1
+ require 'errornot_notifier'
2
2
 
3
- namespace :hoptoad do
4
- desc "Notify Hoptoad of a new deploy."
3
+ namespace :errornot do
4
+ desc "Notify Errornot of a new deploy."
5
5
  task :deploy => :environment do
6
- require 'hoptoad_tasks'
7
- HoptoadTasks.deploy(:rails_env => ENV['TO'],
6
+ require 'errornot_tasks'
7
+ ErrornotTasks.deploy(:rails_env => ENV['TO'],
8
8
  :scm_revision => ENV['REVISION'],
9
9
  :scm_repository => ENV['REPO'],
10
10
  :local_username => ENV['USER'],
@@ -16,24 +16,24 @@ namespace :hoptoad do
16
16
  RAILS_DEFAULT_LOGGER = Logger.new(STDOUT)
17
17
  end
18
18
 
19
- desc "Verify your gem installation by sending a test exception to the hoptoad service"
20
- task :test => ['hoptoad:log_stdout', :environment] do
19
+ desc "Verify your gem installation by sending a test exception to the errornot service"
20
+ task :test => ['errornot:log_stdout', :environment] do
21
21
  RAILS_DEFAULT_LOGGER.level = Logger::DEBUG
22
22
 
23
23
  require 'action_controller/test_process'
24
24
 
25
25
  Dir["app/controllers/application*.rb"].each { |file| require(file) }
26
26
 
27
- class HoptoadTestingException < RuntimeError; end
27
+ class ErrornotTestingException < RuntimeError; end
28
28
 
29
- unless HoptoadNotifier.configuration.api_key
30
- puts "Hoptoad needs an API key configured! Check the README to see how to add it."
29
+ unless ErrornotNotifier.configuration.api_key
30
+ puts "Errornot needs an API key configured! Check the README to see how to add it."
31
31
  exit
32
32
  end
33
33
 
34
- HoptoadNotifier.configuration.development_environments = []
34
+ ErrornotNotifier.configuration.development_environments = []
35
35
 
36
- catcher = HoptoadNotifier::Rails::ActionControllerCatcher
36
+ catcher = ErrornotNotifier::Rails::ActionControllerCatcher
37
37
  in_controller = ApplicationController.included_modules.include?(catcher)
38
38
  in_base = ActionController::Base.included_modules.include?(catcher)
39
39
  if !in_controller || !in_base
@@ -42,7 +42,7 @@ namespace :hoptoad do
42
42
  end
43
43
 
44
44
  puts "Configuration:"
45
- HoptoadNotifier.configuration.to_hash.each do |key, value|
45
+ ErrornotNotifier.configuration.to_hash.each do |key, value|
46
46
  puts sprintf("%25s: %s", key.to_s, value.inspect.slice(0, 55))
47
47
  end
48
48
 
@@ -54,10 +54,10 @@ namespace :hoptoad do
54
54
  puts 'Setting up the Controller.'
55
55
  class ApplicationController
56
56
  # This is to bypass any filters that may prevent access to the action.
57
- prepend_before_filter :test_hoptoad
58
- def test_hoptoad
57
+ prepend_before_filter :test_errornot
58
+ def test_errornot
59
59
  puts "Raising '#{exception_class.name}' to simulate application failure."
60
- raise exception_class.new, 'Testing hoptoad via "rake hoptoad:test". If you can see this, it works.'
60
+ raise exception_class.new, 'Testing errornot via "rake errornot:test". If you can see this, it works.'
61
61
  end
62
62
 
63
63
  def rescue_action(exception)
@@ -76,7 +76,7 @@ namespace :hoptoad do
76
76
  end
77
77
 
78
78
  def exception_class
79
- exception_name = ENV['EXCEPTION'] || "HoptoadTestingException"
79
+ exception_name = ENV['EXCEPTION'] || "ErrornotTestingException"
80
80
  Object.const_get(exception_name)
81
81
  rescue
82
82
  Object.const_set(exception_name, Class.new(Exception))
@@ -86,12 +86,12 @@ namespace :hoptoad do
86
86
  nil
87
87
  end
88
88
  end
89
- class HoptoadVerificationController < ApplicationController; end
89
+ class ErrornotVerificationController < ApplicationController; end
90
90
 
91
91
  puts 'Processing request.'
92
92
  request = ActionController::TestRequest.new
93
93
  response = ActionController::TestResponse.new
94
- HoptoadVerificationController.new.process(request, response)
94
+ ErrornotVerificationController.new.process(request, response)
95
95
  end
96
96
  end
97
97
 
@@ -0,0 +1,3 @@
1
+ module ErrornotNotifier
2
+ VERSION = "1.0.0".freeze
3
+ end
@@ -2,15 +2,15 @@ require 'net/http'
2
2
  require 'net/https'
3
3
  require 'rubygems'
4
4
  require 'active_support'
5
- require 'hoptoad_notifier/version'
6
- require 'hoptoad_notifier/configuration'
7
- require 'hoptoad_notifier/notice'
8
- require 'hoptoad_notifier/sender'
9
- require 'hoptoad_notifier/backtrace'
10
- require 'hoptoad_notifier/rack'
5
+ require 'errornot_notifier/version'
6
+ require 'errornot_notifier/configuration'
7
+ require 'errornot_notifier/notice'
8
+ require 'errornot_notifier/sender'
9
+ require 'errornot_notifier/backtrace'
10
+ require 'errornot_notifier/rack'
11
11
 
12
- # Gem for applications to automatically post errors to the Hoptoad of their choice.
13
- module HoptoadNotifier
12
+ # Gem for applications to automatically post errors to the Errornot of their choice.
13
+ module ErrornotNotifier
14
14
 
15
15
  API_VERSION = "1.0"
16
16
  LOG_PREFIX = "** [ErrorNot Logger] "
@@ -21,12 +21,12 @@ module HoptoadNotifier
21
21
  }
22
22
 
23
23
  class << self
24
- # The sender object is responsible for delivering formatted data to the Hoptoad server.
25
- # Must respond to #send_to_hoptoad. See HoptoadNotifier::Sender.
24
+ # The sender object is responsible for delivering formatted data to the Errornot server.
25
+ # Must respond to #send_to_errornot. See ErrornotNotifier::Sender.
26
26
  attr_accessor :sender
27
27
 
28
- # A Hoptoad configuration object. Must act like a hash and return sensible
29
- # values for all Hoptoad configuration options. See HoptoadNotifier::Configuration.
28
+ # A Errornot configuration object. Must act like a hash and return sensible
29
+ # values for all Errornot configuration options. See ErrornotNotifier::Configuration.
30
30
  attr_accessor :configuration
31
31
 
32
32
  # Tell the log that the Notifier is good to go
@@ -39,9 +39,9 @@ module HoptoadNotifier
39
39
  write_verbose_log("Environment Info: #{environment_info}")
40
40
  end
41
41
 
42
- # Prints out the response body from Hoptoad for debugging help
42
+ # Prints out the response body from Errornot for debugging help
43
43
  def report_response_body(response)
44
- write_verbose_log("Response from Hoptoad: \n#{response}")
44
+ write_verbose_log("Response from Errornot: \n#{response}")
45
45
  end
46
46
 
47
47
  # Returns the Ruby version, Rails version, and current Rails environment
@@ -64,7 +64,7 @@ module HoptoadNotifier
64
64
  # Call this method to modify defaults in your initializers.
65
65
  #
66
66
  # @example
67
- # HoptoadNotifier.configure do |config|
67
+ # ErrornotNotifier.configure do |config|
68
68
  # config.api_key = '1234567890abcdef'
69
69
  # config.secure = false
70
70
  # end
@@ -77,10 +77,10 @@ module HoptoadNotifier
77
77
 
78
78
  # Sends an exception manually using this method, even when you are not in a controller.
79
79
  #
80
- # @param [Exception] exception The exception you want to notify Hoptoad about.
81
- # @param [Hash] opts Data that will be sent to Hoptoad.
80
+ # @param [Exception] exception The exception you want to notify Errornot about.
81
+ # @param [Hash] opts Data that will be sent to Errornot.
82
82
  #
83
- # @option opts [String] :api_key The API key for this project. The API key is a unique identifier that Hoptoad uses for identification.
83
+ # @option opts [String] :api_key The API key for this project. The API key is a unique identifier that Errornot uses for identification.
84
84
  # @option opts [String] :error_message The error returned by the exception (or the message you want to log).
85
85
  # @option opts [String] :backtrace A backtrace, usually obtained with +caller+.
86
86
  # @option opts [String] :request The controller's request object.
@@ -91,7 +91,7 @@ module HoptoadNotifier
91
91
  end
92
92
 
93
93
  # Sends the notice unless it is one of the default ignored exceptions
94
- # @see HoptoadNotifier.notify
94
+ # @see ErrornotNotifier.notify
95
95
  def notify_or_ignore(exception, opts = {})
96
96
  notice = build_notice_for(exception, opts)
97
97
  send_notice(notice) unless notice.ignore?
@@ -118,7 +118,7 @@ module HoptoadNotifier
118
118
 
119
119
  def send_notice(notice)
120
120
  if configuration.public?
121
- sender.send_to_hoptoad(notice.to_xml)
121
+ sender.send_to_errornot(notice.to_xml)
122
122
  end
123
123
  end
124
124
 
@@ -2,19 +2,21 @@ require 'net/http'
2
2
  require 'uri'
3
3
  require 'active_support'
4
4
 
5
- # Capistrano tasks for notifying Hoptoad of deploys
6
- module HoptoadTasks
5
+ # Capistrano tasks for notifying Errornot of deploys
6
+ module ErrornotTasks
7
7
 
8
- # Alerts Hoptoad of a deploy.
8
+ # Alerts Errornot of a deploy.
9
9
  #
10
- # @param [Hash] opts Data about the deploy that is set to Hoptoad
10
+ # @param [Hash] opts Data about the deploy that is set to Errornot
11
11
  #
12
12
  # @option opts [String] :rails_env Environment of the deploy (production, staging)
13
13
  # @option opts [String] :scm_revision The given revision/sha that is being deployed
14
14
  # @option opts [String] :scm_repository Address of your repository to help with code lookups
15
15
  # @option opts [String] :local_username Who is deploying
16
16
  def self.deploy(opts = {})
17
- if HoptoadNotifier.configuration.api_key.blank?
17
+ raise NotImplementedError.new("it's not implemented in errornot now")
18
+ # TODO: implement it in ErrorNot
19
+ if ErrornotNotifier.configuration.api_key.blank?
18
20
  puts "I don't seem to be configured with an API key. Please check your configuration."
19
21
  return false
20
22
  end
@@ -25,10 +27,10 @@ module HoptoadTasks
25
27
  end
26
28
 
27
29
  params = {'api_key' => opts.delete(:api_key) ||
28
- HoptoadNotifier.configuration.api_key}
30
+ ErrornotNotifier.configuration.api_key}
29
31
  opts.each {|k,v| params["deploy[#{k}]"] = v }
30
32
 
31
- url = URI.parse("http://#{HoptoadNotifier.configuration.host || 'hoptoadapp.com'}/deploys.txt")
33
+ url = URI.parse("http://#{ErrornotNotifier.configuration.host}/deploys")
32
34
  response = Net::HTTP.post_form(url, params)
33
35
  puts response.body
34
36
  return Net::HTTPSuccess === response
@@ -1,5 +1,5 @@
1
1
  <script type="text/javascript">
2
- var Hoptoad = {
2
+ var Errornot = {
3
3
  host : <%= host.to_json %>,
4
4
  api_key : <%= api_key.to_json %>,
5
5
  notice : <%= notice.to_json %>,
@@ -19,7 +19,7 @@ var Hoptoad = {
19
19
  }
20
20
 
21
21
  data[data.length] = 'notice[api_key]=' + this.api_key;
22
- data[data.length] = 'callback=Hoptoad.onSuccess';
22
+ data[data.length] = 'callback=Errornot.onSuccess';
23
23
  data[data.length] = '_=' + (new Date()).getTime();
24
24
 
25
25
  var head = document.getElementsByTagName('head')[0];
@@ -50,7 +50,7 @@ var Hoptoad = {
50
50
  var text = document.createTextNode(this.message);
51
51
  var element = document.createElement('a');
52
52
 
53
- element.id = 'hoptoad';
53
+ element.id = 'errornot';
54
54
  element.href = 'http://' + error.subdomain + '.' + this.host +
55
55
  '/projects/' + error.project_id + '/errors/' + error.id;
56
56
  element.appendChild(text);
@@ -70,12 +70,12 @@ var Hoptoad = {
70
70
  };
71
71
 
72
72
  window.onload = function() {
73
- Hoptoad.initialize.apply(Hoptoad);
73
+ Errornot.initialize.apply(Errornot);
74
74
  };
75
75
  </script>
76
76
 
77
77
  <style type="text/css">
78
- #hoptoad {
78
+ #errornot {
79
79
  background: #FFF url(http://hoptoadapp.com/images/fell-off-the-toad.gif) no-repeat top right;
80
80
  color: #F00;
81
81
  padding: 45px 101px 45px 12px;