Sha256: b224fe3eb49cd33fa729b99cf9edcbd4ab3758ebd8611ef01934b675504aafe6

Contents?: true

Size: 569 Bytes

Versions: 8

Compression:

Stored size: 569 Bytes

Contents

module Authenticate
  extend ActiveSupport::Concern

  included do
    before_action :authenticate_user!
  end

  class_methods do
    def skip_authentication(**options)
      skip_before_action :authenticate_user!, **options
    end
  end

  private

  def authenticate_user!
    if user = User.find_by(id: session[:user_id])
      Current.user = user
    else
      redirect_to login_path
    end
  end

  def login(user)
    Current.user = user
    reset_session
    session[:user_id] = user.id
  end

  def logout
    Current.user = nil
    reset_session
  end
end

Version data entries

8 entries across 5 versions & 1 rubygems

Version Path
kaze-0.5.0 stubs/hotwire/app/controllers/concerns/authenticate.rb
kaze-0.5.0 stubs/inertia-common/app/controllers/concerns/authenticate.rb
kaze-0.4.0 stubs/hotwire/app/controllers/concerns/authenticate.rb
kaze-0.4.0 stubs/inertia-common/app/controllers/concerns/authenticate.rb
kaze-0.3.0 stubs/hotwire/app/controllers/concerns/authenticate.rb
kaze-0.3.0 stubs/inertia-common/app/controllers/concerns/authenticate.rb
kaze-0.2.0 stubs/default/app/controllers/concerns/authenticate.rb
kaze-0.1.0 stubs/default/app/controllers/concerns/authenticate.rb