Class: CurrentSession::Base

Inherits:
ActiveSupport::CurrentAttributes
  • Object
show all
Includes:
Interface, RaiseNotImplementedError
Defined in:
lib/current_session/base.rb

Overview

Base class for implementing current_user

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.session_token_classObject

Returns the value of attribute session_token_class.



13
14
15
# File 'lib/current_session/base.rb', line 13

def session_token_class
  @session_token_class
end

.user_classObject

Returns the value of attribute user_class.



13
14
15
# File 'lib/current_session/base.rb', line 13

def user_class
  @user_class
end

Class Method Details

.auth_methods(&block) ⇒ Object



36
37
38
39
40
41
42
43
# File 'lib/current_session/base.rb', line 36

def auth_methods(&block)
  if block
    auth_methods = Module.new(&block)
    @auth_class = Class.new(CurrentSession::Auth) { include auth_methods }
  else
    @auth_class
  end
end

.auth_methods=(auth_methods_module) ⇒ Object



32
33
34
# File 'lib/current_session/base.rb', line 32

def auth_methods=(auth_methods_module)
  @auth_class = Class.new(CurrentSession::Auth) { include auth_methods_module }
end

.current_time(_) ⇒ Object



15
16
17
# File 'lib/current_session/base.rb', line 15

def current_time(_)
  Time.current
end

.session_methods(&block) ⇒ Object



23
24
25
26
27
28
29
30
# File 'lib/current_session/base.rb', line 23

def session_methods(&block)
  if block
    session_methods = Module.new(&block)
    @session_repository_class = Class.new(CurrentSession::Repository) { include session_methods }
  else
    @session_repository_class
  end
end

.session_methods=(session_methods_module) ⇒ Object



19
20
21
# File 'lib/current_session/base.rb', line 19

def session_methods=(session_methods_module)
  @session_repository_class = Class.new(CurrentSession::Repository) { include session_methods_module }
end