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:       @data ||= @store.load_session(self, @cookie, @request)
42:     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 56
56:     def [](key)
57:       @data[key]
58:     end

[]=(key, value)

      # File lib/harbor/session.rb, line 52
52:     def []=(key, value)
53:       @data[key] = value
54:     end

data()

      # File lib/harbor/session.rb, line 60
60:     def data
61:       @data
62:     end

destroy()

      # File lib/harbor/session.rb, line 77
77:     def destroy
78:       @data.clear
79:     end

id()

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

key()

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

session_created(session_id, remote_ip, user_agent_raw)

      # File lib/harbor/session.rb, line 44
44:     def session_created(session_id, remote_ip, user_agent_raw)
45:       raise_event2(:session_created, Harbor::Events::SessionCreatedEventContext.new(session_id, remote_ip, user_agent_raw))
46:     end