mdsol/rack-cache — pull request #13 by clabrunda (2014-12-09 05:46:14+00:00)
Title: Fix for Ruby 2.0 and 2.1, which no longer support lambdas on rescue blocks.

I was playing with MCC Admin and Blueprint, making calls to MAudit that should have timed out. Instead of timing out gracefully, I was seeing:
```
TypeError: class or module required for rescue clause
from /mnt/mccadmin/bundle/ruby/2.0.0/bundler/gems/rack-cache-15390785b682/lib/rack/cache/context.rb:364:in `rescue in send_with_retries'
```
It looks like the "feature" of being able to pass a function to a rescue clause was actually unintentional? At least that's what it seems like [from this thread](https://www.ruby-forum.com/topic/4419633).

Here are the results of running the bacon tests. Prior to this change, running on ruby-2.0.0-p481:
```
TypeError: class or module required for rescue clause
/Users/clabrunda/md_rails/rack-cache/lib/rack/cache/context.rb:205:in `rescue in validate_with_retries_and_stale_cache_failover': Rack::Cache::Context - allows an exception to be raised when a connection error occurs while revalidating a cached entry if fault_tolerant is set to true but the per-request is false
...
269 specifications (927 requirements), 0 failures, 10 errors
```
With this change:
```
269 specifications (977 requirements), 0 failures, 0 errors
```