To get sessions working for your application:
require 'camping/session'
Define a secret (and keep it secret): set :secret,
"SECRET!"
Mixin the module: include Camping::Session
Throughout your application, use the @state
var like a hash to
store your application’s data.
require 'camping/session' # 1 module Nuts set :secret, "Oh yeah!" # 2 include Camping::Session # 3 end
Camping only ships with session-cookies.
However, the @state
variable is simply a shortcut for
@env['rack.session']
. Therefore you can also use any
middleware which sets this variable:
module Nuts use Rack::Session::Memcache end
# File lib/camping/session.rb, line 28 def self.included(app) key = "#{app}.state".downcase secret = app.options[:secret] || [__FILE__, File.mtime(__FILE__)].join(":") app.use Rack::Session::Cookie, :key => key, :secret => secret end