Module: Tramway::AuthManagement

Included in:
Tramway::Auth::ApplicationHelper, Tramway::Auth::Web::ApplicationController
Defined in:
app/controllers/concerns/tramway/auth_management.rb

Instance Method Summary collapse

Instance Method Details

#authenticate_user!(user_class = ::Tramway::User::User) ⇒ Object



17
18
19
# File 'app/controllers/concerns/tramway/auth_management.rb', line 17

def authenticate_user!(user_class = ::Tramway::User::User)
  redirect_to new_session_path unless signed_in?(user_class)
end

#current_user(user_class = ::Tramway::User::User) ⇒ Object



21
22
23
24
25
26
# File 'app/controllers/concerns/tramway/auth_management.rb', line 21

def current_user(user_class = ::Tramway::User::User)
  user = user_class.find_by id: session[user_id_key(user_class)]
  return false unless user

  "#{user_class}Decorator".constantize.decorate user
end

#sign_in(user) ⇒ Object



5
6
7
# File 'app/controllers/concerns/tramway/auth_management.rb', line 5

def (user)
  session[user_id_key(user.class)] = user.id
end

#sign_out(user_class = ::Tramway::User::User) ⇒ Object



9
10
11
# File 'app/controllers/concerns/tramway/auth_management.rb', line 9

def sign_out(user_class = ::Tramway::User::User)
  session[user_id_key(user_class.constantize)] = nil
end

#signed_in?(user_class = ::Tramway::User::User) ⇒ Boolean

Returns:

  • (Boolean)


13
14
15
# File 'app/controllers/concerns/tramway/auth_management.rb', line 13

def signed_in?(user_class = ::Tramway::User::User)
  current_user(user_class)
end