sinatra/sinatra-contrib — pull request #91 by kylewlacy (2013-02-27 01:21:21+00:00)
Title: Modify cookie[]= to take a hash of extra options

Based on pull request #66, with the suggested syntax changes. Doesn't work using `cookie[:key] = 'value', :option => 'asdf'` for whatever reason, so you need to wrap the extra hash in `{}`'s.

Also, on implementation: when `[]=(key, value)` gets called with a hash, `value` becomes an array containing both the bare value, as well as the hash. Just one of quirky Ruby things I guess.