Module: Lockdown::Session

Defined in:
lib/lockdown/session.rb

Instance Method Summary collapse

Instance Method Details

#access_in_perm?(name) ⇒ True|False

Returns true if the permission’s regex_pattern is in session

Parameters:

  • name (String)

    permission name

Returns:

  • (True|False)


33
34
35
36
37
38
# File 'lib/lockdown/session.rb', line 33

def access_in_perm?(name)
  if perm = Lockdown::Configuration.permission(name)
    return session_access_rights.include?(perm.regex_pattern)
  end
  false
end

#add_lockdown_session_values(user = nil) ⇒ Object



7
8
9
10
11
12
13
14
15
16
# File 'lib/lockdown/session.rb', line 7

def add_lockdown_session_values(user = nil)
  user ||= current_user

  if user
    session[:access_rights] = Lockdown::Configuration.access_rights_for_user(user)
    session[:current_user_id] = user.id
  else
    session[:access_rights] = Lockdown::Configuration.public_access
  end
end

#current_user_idObject

Returns session value of current_user_id.

Returns:

  • session value of current_user_id



25
26
27
# File 'lib/lockdown/session.rb', line 25

def current_user_id
  session[:current_user_id]
end

#logged_in?True|False

Tests for current_user_id > 0

Returns:

  • (True|False)


20
21
22
# File 'lib/lockdown/session.rb', line 20

def logged_in?
  current_user_id.to_i > 0
end

#reset_lockdown_sessionObject



44
45
46
47
48
# File 'lib/lockdown/session.rb', line 44

def reset_lockdown_session
  [:expiry_time, :current_user_id, :access_rights].each do |val|
    session[val] = nil if session[val]
  end
end

#session_access_rightsObject



40
41
42
# File 'lib/lockdown/session.rb', line 40

def session_access_rights
  session[:access_rights].to_s
end