<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -62,10 +62,9 @@ deployments so explicit configuration is advised.
 The default metastore and entitystore values can be specified when the
 __Rack::Cache__ object is added to the Rack middleware pipeline as follows:
 
-    use Rack::Cache do
-      set :metastore, 'file:/var/cache/rack/meta'
-      set :entitystore, 'file:/var/cache/rack/body'
-    end
+    use Rack::Cache,
+      :metastore =&gt; 'file:/var/cache/rack/meta',
+      :entitystore =&gt; 'file:/var/cache/rack/body'
 
 Alternatively, the `rack-cache.metastore` and `rack-cache.entitystore`
 variables may be set in the Rack environment by an upstream component.
@@ -82,8 +81,9 @@ use a specific storage implementation as well as pros and cons of each.
 
 Uses local process memory to store cached entries.
 
-    set :metastore,   'heap:/'
-    set :entitystore, 'heap:/'
+    use Rack::Cache,
+      :metastore   =&gt; 'heap:/',
+      :entitystore =&gt; 'heap:/'
 
 The heap storage backend is simple, fast, and mostly useless. All cache
 information is stored in each backend application's local process memory (using
@@ -102,8 +102,9 @@ is small and well understood.
 
 Stores cached entries on the filesystem.
 
-    set :metastore,   'file:/var/cache/rack/meta'
-    set :entitystore, 'file:/var/cache/rack/body'
+    use Rack::Cache,
+      :metastore   =&gt; 'file:/var/cache/rack/meta',
+      :entitystore =&gt; 'file:/var/cache/rack/body'
 
 The URI may specify an absolute, relative, or home-rooted path:
 
@@ -132,18 +133,19 @@ collision.
 Stores cached entries in a remote [memcached](http://www.danga.com/memcached/)
 instance.
 
-    set :metastore,   'memcached://localhost:11211/meta'
-    set :entitystore, 'memcached://localhost:11211/body'
+    use Rack::Cache,
+      :metastore   =&gt; 'memcached://localhost:11211/meta',
+      :entitystore =&gt; 'memcached://localhost:11211/body'
 
 The URI must specify the host and port of a remote memcached daemon. The path
 portion is an optional (but recommended) namespace that is prepended to each
 cache key.
 
-The memcached storage backend requires [Evan Weaver's memcached client library][e].
-This is a [fast][f] client implementation built on the SWIG/[libmemcached][l] C
-library. The library may be installed from Gem as follows:
+The memcached storage backend requires either the `memcache-client` or
+`memcached` libraries. By default, the `memcache-client` library is used;
+require the `memcached` library explicitly to use it instead.
 
-    sudo gem install memcached --no-rdoc --no-ri
+    gem install memcache-client
 
 Memcached storage is reasonably fast and allows multiple backends to share a
 single cache. It is also the only storage implementation that allows the cache</diff>
      <filename>doc/storage.markdown</filename>
    </modified>
    <modified>
      <diff>@@ -285,7 +285,10 @@ module Rack::Cache
             end
           options[k.to_sym] = value
         end
+
+        fail &quot;Invalid memcached URL: #{uri.to_s.inspect}&quot;  if uri.path.nil?
         options[:namespace] = uri.path.sub(/^\//, '')
+
         new server, options
       end
     end</diff>
      <filename>lib/rack/cache/metastore.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>c5308bef158ccfe2f76d08a4726101bbaaa28925</id>
    </parent>
  </parents>
  <author>
    <name>Ryan Tomayko</name>
    <email>rtomayko@gmail.com</email>
  </author>
  <url>http://github.com/rtomayko/rack-cache/commit/b632b5c2284e5f52c2f9f461da72a110d7a78ef3</url>
  <id>b632b5c2284e5f52c2f9f461da72a110d7a78ef3</id>
  <committed-date>2009-05-25T06:40:46-07:00</committed-date>
  <authored-date>2009-05-25T06:40:46-07:00</authored-date>
  <message>Fix bad config examples in storage docs</message>
  <tree>096858bc5973736d9b9ad936a1627f34eea068db</tree>
  <committer>
    <name>Ryan Tomayko</name>
    <email>rtomayko@gmail.com</email>
  </committer>
</commit>
