class SessionManager

Public Instance Methods

authorize!(id) click to toggle source
# 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_data() click to toggle source
# File lib/session_manager.rb, line 39
def check_login_data
  begin
    @session[:login_data][:type].constantize.find_by({id: @session[:login_data][:id]}).present?
  rescue
    @session[:login_data] = nil
  end
end
login_data() click to toggle source
# File lib/session_manager.rb, line 29
def login_data
  check_login_data
  @session[:login_data]
end
login_data_update(account) click to toggle source
# File lib/session_manager.rb, line 34
def login_data_update account
  @session[:login_data] = {type: account.class.name, id: account.id}
  @session[:uid] = account.user_card.id
end
set_cookies(cookies) click to toggle source
# File lib/session_manager.rb, line 7
def set_cookies cookies
  @cookies = cookies
end
set_session(session) click to toggle source
# File lib/session_manager.rb, line 3
def set_session session
  @session = session
end
whoami() click to toggle source
# 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