U:RDoc::NormalClass[iI" Cookie:ETI"Rack::Session::Cookie;TI" Rack::Session::Abstract::ID;To:RDoc::Markup::Document: @parts[o;;[o:RDoc::Markup::Paragraph;[ I"LRack::Session::Cookie provides simple cookie based session management. ;TI"PBy default, the session is a Ruby Hash stored as base64 encoded marshalled ;TI"Ldata set to :key (default: rack.session). The object that encodes the ;TI"Msession data is configurable and must respond to +encode+ and +decode+. ;TI"9Both methods must take a string and return a string.;To:RDoc::Markup::BlankLineo; ;[I"LWhen the secret key is set, cookie data is checked for data integrity. ;TI"MThe old secret key is also accepted and allows graceful secret rotation.;T@o; ;[I" Example:;T@o:RDoc::Markup::Verbatim;[ I"8use Rack::Session::Cookie, :key => 'rack.session', ;TI"6 :domain => 'foo.com', ;TI". :path => '/', ;TI": :expire_after => 2592000, ;TI"8 :secret => 'change_me', ;TI"@ :old_secret => 'also_change_me' ;TI" ;TI""All parameters are optional. ;T: @format0o; ;[I"*Example of a cookie with no encoding:;T@o; ;[I".Rack::Session::Cookie.new(application, { ;TI"5 :coder => Rack::Session::Cookie::Identity.new ;TI"}) ;T; 0o; ;[I".Example of a cookie with custom encoding:;T@o; ;[ I".Rack::Session::Cookie.new(application, { ;TI" :coder => Class.new { ;TI"+ def encode(str); str.reverse; end ;TI"+ def decode(str); str.reverse; end ;TI" }.new ;TI"});T; 0: @fileI"lib/rack/session/cookie.rb;T:0@omit_headings_from_table_of_contents_below0; 0;0[[ I" coder;TI"R;T: publicFI"lib/rack/session/cookie.rb;T[[[[I" class;T[[;[[I"new;T@?[:protected[[: private[[I" instance;T[[;[[;[[;[ [I"destroy_session;F@?[I"digest_match?;F@?[I"extract_session_id;F@?[I"generate_hmac;F@?[I"get_session;F@?[I"persistent_session_id!;F@?[I"set_session;F@?[I"unpacked_cookie_data;F@?[[U:RDoc::Context::Section[i0o;;[; 0;0[@:I"Rack::Session;TcRDoc::NormalModule