Class: Rhales::Adapters::AuthenticatedSession

Inherits:
BaseSession
  • Object
show all
Defined in:
lib/rhales/adapters/base_session.rb

Overview

Example authenticated session implementation

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(session_data = {}) ⇒ AuthenticatedSession

Returns a new instance of AuthenticatedSession.



63
64
65
# File 'lib/rhales/adapters/base_session.rb', line 63

def initialize(session_data = {})
  @session_data = session_data
end

Instance Attribute Details

#session_dataObject (readonly)

Returns the value of attribute session_data.



61
62
63
# File 'lib/rhales/adapters/base_session.rb', line 61

def session_data
  @session_data
end

Instance Method Details

#authenticated?Boolean

Returns:

  • (Boolean)


67
68
69
# File 'lib/rhales/adapters/base_session.rb', line 67

def authenticated?
  !@session_data.empty? && valid?
end

#created_atObject



86
87
88
# File 'lib/rhales/adapters/base_session.rb', line 86

def created_at
  @session_data[:created_at] || @session_data['created_at']
end

#dataObject



75
76
77
# File 'lib/rhales/adapters/base_session.rb', line 75

def data
  @session_data
end

#last_accessed_atObject



90
91
92
# File 'lib/rhales/adapters/base_session.rb', line 90

def last_accessed_at
  @session_data[:last_accessed_at] || @session_data['last_accessed_at']
end

#session_idObject



71
72
73
# File 'lib/rhales/adapters/base_session.rb', line 71

def session_id
  @session_data[:id] || @session_data['id']
end

#valid?Boolean

Returns:

  • (Boolean)


79
80
81
82
83
84
# File 'lib/rhales/adapters/base_session.rb', line 79

def valid?
  return false unless @session_data[:created_at] || @session_data['created_at']

  # Add session validation logic here (expiry, etc.)
  true
end