Class: SessionManager

Inherits:
Object
  • Object
show all
Defined in:
lib/session_manager.rb

Instance Method Summary collapse

Instance Method Details

#authorize!(id) ⇒ Object



11
12
13
14
15
# File 'lib/session_manager.rb', line 11

def authorize! id
  @session[:uid] = id
  @cookies[:uid] = id
  @cookies[:chk] = (Digest::MD5.new.update "#{CONFIG[:pepper]}#{id}#{CONFIG[:salt]}").to_s
end

#check_login_dataObject



39
40
41
42
43
44
45
# File 'lib/session_manager.rb', line 39

def 
  begin
    @session[:login_data][:type].constantize.find_by({id: @session[:login_data][:id]}).present?
  rescue
    @session[:login_data] = nil
  end
end

#login_dataObject



29
30
31
32
# File 'lib/session_manager.rb', line 29

def 
  
  @session[:login_data]
end

#login_data_update(account) ⇒ Object



34
35
36
37
# File 'lib/session_manager.rb', line 34

def  
  @session[:login_data] = {type: .class.name, id: .id}
  @session[:uid] = .user_card.id
end

#set_cookies(cookies) ⇒ Object



7
8
9
# File 'lib/session_manager.rb', line 7

def set_cookies cookies
  @cookies = cookies
end

#set_session(session) ⇒ Object



3
4
5
# File 'lib/session_manager.rb', line 3

def set_session session
  @session = session
end

#whoamiObject



17
18
19
20
21
22
23
24
25
26
27
# File 'lib/session_manager.rb', line 17

def whoami
  if @session && @session[:uid]
    user = UserCard.find(@session[:uid]).userable
    username = user.name == '' ? "#{user.class.name}##{user.id}" : user.name
    username << " из компании #{user.company.name}" if user.class.name == 'Manager' && user.company.name
    username
  else
    'Anonymous'
  end

end