diff options
| author | mo khan <mo@mokhan.ca> | 2016-04-30 09:39:37 -0600 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2016-04-30 09:39:37 -0600 |
| commit | d352a8604b2f3cea2834367fe4fd697d9e92ee76 (patch) | |
| tree | e6a5e10652a0a9b59b6ed547b47b62921beb026d /app | |
| parent | d723a6c93fc5f1086d596934e5e2362654a83f21 (diff) | |
start to move authentication logic to UserSession.
Diffstat (limited to 'app')
| -rw-r--r-- | app/controllers/sessions_controller.rb | 4 | ||||
| -rw-r--r-- | app/models/user.rb | 11 | ||||
| -rw-r--r-- | app/models/user_session.rb | 12 |
3 files changed, 14 insertions, 13 deletions
diff --git a/app/controllers/sessions_controller.rb b/app/controllers/sessions_controller.rb index 5a20c27..3970e08 100644 --- a/app/controllers/sessions_controller.rb +++ b/app/controllers/sessions_controller.rb @@ -1,7 +1,7 @@ class SessionsController < PublicController def create - if user = User.authenticate(params[:user][:username], params[:user][:password]) - session[:user_id] = user.id + if user_session = UserSession.authenticate(params[:user][:username], params[:user][:password]) + session[:user_id] = user_session.id redirect_to dashboard_path else flash[:warning] = t("sessions.create.invalid_login") diff --git a/app/models/user.rb b/app/models/user.rb index 1f120e3..e762352 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -53,17 +53,6 @@ class User < ActiveRecord::Base GoogleDrive.new(self) end - def self.authenticate(username, password) - user = User.find_by( - "email = :email OR username = :username", - username: username.downcase, - email: username.downcase - ) - if user.present? - user.authenticate(password) - end - end - private def create_profile diff --git a/app/models/user_session.rb b/app/models/user_session.rb new file mode 100644 index 0000000..c413160 --- /dev/null +++ b/app/models/user_session.rb @@ -0,0 +1,12 @@ +class UserSession + def self.authenticate(username, password) + user = User.find_by( + "email = :email OR username = :username", + username: username.downcase, + email: username.downcase + ) + if user.present? + user.authenticate(password) + end + end +end |
