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: if @request.health_check? then 42: @data ||= {} 43: else 44: @data ||= @store.load_session(self, @cookie, @request) 45: end 46: end
Public Instance Methods
[]=(key, value)
# File lib/harbor/session.rb, line 56 56: def []=(key, value) 57: @data[key] = value 58: end
save()
# File lib/harbor/session.rb, line 72 72: def save 73: cookie = {} 74: cookie[:domain] = @options[:domain] 75: cookie[:path] = @options[:path] 76: cookie[:expires] = Time.now + @options[:expire_after] unless @options[:expire_after].nil? 77: unless @request.health_check? 78: cookie[:value] = @store.commit_session(@data, @request) 79: end 80: cookie 81: end
session_created(session_id, remote_ip, user_agent_raw)
# File lib/harbor/session.rb, line 48 48: def session_created(session_id, remote_ip, user_agent_raw) 49: raise_event2(:session_created, Harbor::Events::SessionCreatedEventContext.new(session_id, remote_ip, user_agent_raw)) unless @request.health_check? 50: end