Harbor Documentation

Constants

  • DEFAULT_OPTIONS

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

options()

      # File lib/harbor/session.rb, line 31
31:     def self.options
32:       @options ||= DEFAULT_OPTIONS.dup
33:       @options
34:     end

Public Instance Methods

[](key)

      # File lib/harbor/session.rb, line 60
60:     def [](key)
61:       @data[key]
62:     end

[]=(key, value)

      # File lib/harbor/session.rb, line 56
56:     def []=(key, value)
57:       @data[key] = value
58:     end

data()

      # File lib/harbor/session.rb, line 64
64:     def data
65:       @data
66:     end

destroy()

      # File lib/harbor/session.rb, line 83
83:     def destroy
84:       @data.clear
85:     end

id()

      # File lib/harbor/session.rb, line 68
68:     def id
69:       @data[:session_id]
70:     end

key()

      # File lib/harbor/session.rb, line 52
52:     def key
53:       @options[:key]
54:     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