mperham/dalli — pull request #320 by dblock (2013-01-19 22:16:00+00:00)
Title: Fix: can't modify frozen String errors in ActiveSupport::Cache::DalliStore

If you try to use keys from, say, a Hash.keys, you will get this:

```
RuntimeError: can't modify frozen String
/home/dblock/source/dalli/dblock/lib/active_support/cache/dalli_store.rb:272:in `force_encoding'
/home/dblock/source/dalli/dblock/lib/active_support/cache/dalli_store.rb:272:in `expanded_key'
/home/dblock/source/dalli/dblock/lib/active_support/cache/dalli_store.rb:99:in `write'
/home/dblock/source/dalli/dblock/test/test_active_support.rb:337:in `block (4 levels) in '
/home/dblock/source/dalli/dblock/test/memcached_mock.rb:87:in `memcached'
/home/dblock/source/dalli/dblock/test/test_active_support.rb:333:in `block (3 levels) in '
/home/dblock/source/dalli/dblock/test/helper.rb:33:in `with_activesupport'
/home/dblock/source/dalli/dblock/test/test_active_support.rb:332:in `block (2 levels) in '
```

Generally, modifying data passed in in-place is a bad idea, because the caller is getting back a binary encoded string, not a side effect you really expect.