Class: CurrentSession::SessionMethod

Inherits:
Object
  • Object
show all
Defined in:
lib/current_session/session_method.rb

Overview

Base class for processing to get session_token from request.session

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(current_time:, request:, user_class:, session_token_class:) ⇒ SessionMethod

Returns a new instance of SessionMethod.



12
13
14
15
16
17
# File 'lib/current_session/session_method.rb', line 12

def initialize(current_time:, request:, user_class:, session_token_class:)
  @current_time = current_time
  @request = request
  @user_class = user_class
  @session_token_class = session_token_class
end

Instance Attribute Details

#current_timeObject (readonly)

Returns the value of attribute current_time.



18
19
20
# File 'lib/current_session/session_method.rb', line 18

def current_time
  @current_time
end

#requestObject (readonly)

Returns the value of attribute request.



18
19
20
# File 'lib/current_session/session_method.rb', line 18

def request
  @request
end

#session_token_classObject (readonly)

Returns the value of attribute session_token_class.



18
19
20
# File 'lib/current_session/session_method.rb', line 18

def session_token_class
  @session_token_class
end

#user_classObject (readonly)

Returns the value of attribute user_class.



18
19
20
# File 'lib/current_session/session_method.rb', line 18

def user_class
  @user_class
end

Class Method Details

.new_session_class(session_methods) ⇒ Object



8
9
10
# File 'lib/current_session/session_method.rb', line 8

def self.new_session_class(session_methods)
  Class.new(CurrentSession::SessionMethod) { include session_methods }
end

Instance Method Details

#delete_session_tokenObject



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

def delete_session_token
  try_session_token do
    request.session.delete(key)
    destroy
  end
end

#find_by_token(&block) ⇒ Object



20
21
22
# File 'lib/current_session/session_method.rb', line 20

def find_by_token(&block)
  try_session_token { find(&block) }
end

#update_session_token(user) ⇒ Object



31
32
33
# File 'lib/current_session/session_method.rb', line 31

def update_session_token(user)
  create(user) { |value| request.session[key] = value }
end