CookieCutter
WARNING: CookieCutter is very early in its development cycle (pre-alpha).
CookieCutter provides a nice DSL for defining your cookies so that you can formalize your cookie definitions. This leads to DRY-er code by ensuring that concerns such as the domain and lifetime of a cookie are consistent. It also makes it easy to know what info you are putting into your cookies, which is becoming more important these days as more laws surrounding cookies get written.
Installation
Add this line to your application's Gemfile:
gem 'cookie_cutter'
And then execute:
$ bundle
Or install it yourself as:
$ gem install cookie_cutter
Usage Examples
Define your cookie
class MyCookie < CookieCutter::Base
store_as :my
domain :all
is_permanent
secure_requests_only
http_only
has_attribute :language
has_attribute :country
end
Use your cookie
#writes your cookie
cookie = MyCookie.find(request)
cookie.language = "fr"
#reads your cookie
cookie = MyCookie.find(request)
puts "My language is #{cookie.language}"
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Added some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request