module Cuba::Tools::Auth::Helpers

Public Class Methods

setup(app) click to toggle source
# File lib/cuba/tools/auth.rb, line 62
def self.setup app
  if !defined? Devise
    require 'shield'
    app.plugin Shield::Helpers
    # app.use Shield::Middleware, "/login"
  else
    require 'warden'
    require 'devise'
    app.plugin Devise::TestHelpers
  end
end

Public Instance Methods

current_user() click to toggle source
# File lib/cuba/tools/auth.rb, line 74
def current_user
  @current_user ||= if !defined? Devise
    authenticated user_class
  else
    req.env['warden'].authenticate(scope: :user)
  end
end
sign_in(*args) click to toggle source
Calls superclass method
# File lib/cuba/tools/auth.rb, line 82
def sign_in *args
  if args.length > 1
    user, scope = args
  else
    scope = :user
    user  = args.first
  end

  if !defined? Devise
    session.clear
    session[user_class.to_s] = user.id
  else
    @request = req
    super scope, user
  end
end

Private Instance Methods

user_class() click to toggle source
# File lib/cuba/tools/auth.rb, line 101
def user_class
  Cuba::Tools::Auth.config.user_class.constantize
end