Module: Tzispa::Helpers::Session

Defined in:
lib/tzispa/helpers/session.rb,
lib/tzispa/helpers/session_flash_bag.rb

Defined Under Namespace

Classes: SessionFlashBag

Constant Summary collapse

SESSION_LAST_ACCESS =
:__last_access
SESSION_ID =
:__session_id
SESSION_AUTH_USER =
:__auth__user
GLOBAL_MESSAGE_FLASH =
:__global_message_flash

Instance Method Summary collapse

Instance Method Details

#flashObject



27
28
29
# File 'lib/tzispa/helpers/session.rb', line 27

def flash
  @flash ||= SessionFlashBag.new(session, GLOBAL_MESSAGE_FLASH)
end

#generate_session_idObject



51
52
53
54
55
56
# File 'lib/tzispa/helpers/session.rb', line 51

def generate_session_id
  SecureRandom.uuid.tap do |uuid|
    session.id = uuid
    session[SESSION_ID] = uuid
  end
end

#init_sessionObject



15
16
17
# File 'lib/tzispa/helpers/session.rb', line 15

def init_session
  generate_session_id if config&.sessions&.enabled && !session?
end

#last_accessObject



23
24
25
# File 'lib/tzispa/helpers/session.rb', line 23

def last_access
  session[SESSION_LAST_ACCESS]
end

#logged?Boolean

Returns:

  • (Boolean)


35
36
37
# File 'lib/tzispa/helpers/session.rb', line 35

def logged?
  session? && 
end

#loginObject



43
44
45
# File 'lib/tzispa/helpers/session.rb', line 43

def 
  session[SESSION_AUTH_USER]
end

#login=(user) ⇒ Object



39
40
41
# File 'lib/tzispa/helpers/session.rb', line 39

def login=(user)
  session[SESSION_AUTH_USER] = user unless user.nil?
end

#logoutObject



47
48
49
# File 'lib/tzispa/helpers/session.rb', line 47

def logout
  session.delete(SESSION_AUTH_USER)
end

#session?Boolean

Returns:

  • (Boolean)


31
32
33
# File 'lib/tzispa/helpers/session.rb', line 31

def session?
  !session[SESSION_ID].nil? && (session[SESSION_ID] == session.id)
end

#set_last_accessObject



19
20
21
# File 'lib/tzispa/helpers/session.rb', line 19

def set_last_access
  session[SESSION_LAST_ACCESS] = Time.now.utc.iso8601
end