diff options
author | José Valim <jose.valim@gmail.com> | 2010-10-03 14:47:55 -0700 |
---|---|---|
committer | raggi <jftucker@gmail.com> | 2010-10-03 20:53:52 -0300 |
commit | a2e420e1d2730487c95e1d9e5471a28e5c6cf32e (patch) | |
tree | 41cbb21e1456aeb0acb0a6764808514f0f559b63 | |
parent | f69bd1a7fe76d51f324d0299fdb4b4c906602d2e (diff) | |
download | rack-a2e420e1d2730487c95e1d9e5471a28e5c6cf32e.tar.gz |
Move sid initialization to another method so it can be overwritten by other frameworks.
Signed-off-by: raggi <jftucker@gmail.com>
-rw-r--r-- | lib/rack/session/abstract/id.rb | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/rack/session/abstract/id.rb b/lib/rack/session/abstract/id.rb index 1f85d616..9cfdbb16 100644 --- a/lib/rack/session/abstract/id.rb +++ b/lib/rack/session/abstract/id.rb @@ -180,9 +180,7 @@ module Rack @default_options = self.class::DEFAULT_OPTIONS.merge(options) @key = options[:key] || "rack.session" @cookie_only = @default_options.delete(:cookie_only) - @sid_secure = @default_options[:secure_random] - @sid_template = "%0#{@default_options[:sidbits] / 4}x" - @sid_rand_width = (2**@default_options[:sidbits] - 1) + initialize_sid end def call(env) @@ -197,6 +195,13 @@ module Rack private + def initialize_sid + sidbits = @default_options.delete(:sidbits) + @sid_secure = @default_options.delete(:secure_random) + @sid_template = "%0#{sidbits / 4}x" + @sid_rand_width = (2**sidbits - 1) + end + # Generate a new session id using Ruby #rand. The size of the # session id is controlled by the :sidbits option. # Monkey patch this to use custom methods for session id generation. |