wrangler 0.1.24 → 0.1.25

Sign up to get free protection for your applications and to get access to all the features.
data/TODO CHANGED
@@ -1,5 +1,9 @@
1
1
  This is a collection of things that could/should be worked on:
2
2
 
3
+ == Interaction with other libs:
4
+ * make compatible with newer versions of delayed_job...but maintain
5
+ compatibility with the send_later() version.
6
+
3
7
  == Robustness:
4
8
  * in wrangler.rb : render_error_template(), if we fail to find a template for the
5
9
  exception/status code, we just log that fact right now. this is probably worth
@@ -359,6 +359,39 @@ module Wrangler
359
359
  if render_errors
360
360
  render_error_template(exception, status_code)
361
361
  end
362
+
363
+ rescue Exception => unhandled_exception
364
+ # if it looks like a temporary error interacting with SMTP, then enqueue
365
+ # the error using delayed job if possible
366
+ # (testing by name this way in case the exception isn't loaded into
367
+ # environment, which would cause a NameError and be counterproductive...)
368
+ if unhandled_exception.class.name == 'Net::SMTPAuthenticationError' &&
369
+ Wrangler::ExceptionNotifier.respond_to?(:send_later)
370
+
371
+ log_error "Wrangler failed to send error notification: #{unhandled_exception.class.name}:"
372
+ log_error " #{unhandled_exception.to_s}"
373
+
374
+ # note: this is specific to an old-ish version of delayed job...should
375
+ # make wrangler compatible with the old and the new...
376
+ log_error "Wrangler attempting to send via delayed job"
377
+ Wrangler::ExceptionNotifier.send_later(:deliver_exception_notification,
378
+ exception_classname,
379
+ error_string,
380
+ error_messages,
381
+ proc_name,
382
+ backtrace,
383
+ supplementary_info,
384
+ status_code,
385
+ request_data)
386
+ else
387
+ log_error "/!\\ FAILSAFE /!\\ Wrangler encountered an unhandled exception " +
388
+ "while trying to handle an error. The arguments it received " +
389
+ "were:"
390
+ log_error " exception: #{exception.inspect}"
391
+ log_error " options: #{options.inspect}"
392
+ log_error "The unhandled error encountered was #{unhandled_exception.class.name}:"
393
+ log_error " #{unhandled_exception.to_s}"
394
+ end
362
395
  end
363
396
 
364
397
 
data/wrangler.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{wrangler}
8
- s.version = "0.1.24"
8
+ s.version = "0.1.25"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Brian Percival"]
12
- s.date = %q{2010-09-03}
12
+ s.date = %q{2010-09-21}
13
13
  s.description = %q{A gem for handling exceptions thrown inside your Rails app. If you include the
14
14
  gem in your application controller, wrangler will render the error pages you
15
15
  configure for each exception or HTTP error code. It will also handle notifying
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wrangler
3
3
  version: !ruby/object:Gem::Version
4
- hash: 43
4
+ hash: 41
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 24
10
- version: 0.1.24
9
+ - 25
10
+ version: 0.1.25
11
11
  platform: ruby
12
12
  authors:
13
13
  - Brian Percival
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-09-03 00:00:00 -07:00
18
+ date: 2010-09-21 00:00:00 -07:00
19
19
  default_executable:
20
20
  dependencies: []
21
21