Harbor::Session
Parent
Included Modules
Public Class Methods
configure()
Configures non-default session settings.
Harbor::Session.configure do |session|
session[:domain] = "*.domain.com"
session[:store] = Custom::Session::Store
end
# File lib/harbor/session.rb, line 25 25: def self.configure #:yields: default_options 26: @options = DEFAULT_OPTIONS.dup 27: yield(@options) 28: @options 29: end
new(request, key = nil)
# File lib/harbor/session.rb, line 36 36: def initialize(request, key = nil) 37: @options = self.class.options.dup 38: @cookie = request.cookies[key] || request.cookies[@options[:key]] 39: @store = self.class.options[:store] 40: @request = request 41: @data ||= @store.load_session(self, @cookie, @request) 42: end
Public Instance Methods
[]=(key, value)
# File lib/harbor/session.rb, line 52 52: def []=(key, value) 53: @data[key] = value 54: end
save()
# File lib/harbor/session.rb, line 68 68: def save 69: cookie = {} 70: cookie[:domain] = @options[:domain] 71: cookie[:path] = @options[:path] 72: cookie[:expires] = Time.now + @options[:expire_after] unless @options[:expire_after].nil? 73: cookie[:value] = @store.commit_session(@data, @request) 74: cookie 75: end