Module: Cuba::Tools::Auth::Helpers

Defined in:
lib/cuba/tools/auth.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.setup(app) ⇒ Object



62
63
64
65
66
67
68
69
70
71
72
# 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

Instance Method Details

#current_userObject



74
75
76
77
78
79
80
# 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) ⇒ Object



82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# File 'lib/cuba/tools/auth.rb', line 82

def  *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