Module: Session

Defined in:
lib/primate/session.rb,
sig/primate.rbs

Overview

Session management

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.current ⇒ Object

Returns the value of attribute current.



6
7
8
# File 'lib/primate/session.rb', line 6

def current
  @current
end

Class Method Details

.create(data) ⇒ void

This method returns an undefined value.

Create a new session with data

Parameters:

  • Initial session data



34
35
36
# File 'lib/primate/session.rb', line 34

def create(data)
  current&.create(data)
end

.destroy ⇒ void

This method returns an undefined value.

Destroy the session



63
64
65
# File 'lib/primate/session.rb', line 63

def destroy
  current&.destroy
end

.exists? ⇒ Boolean

Check if session exists

Returns:

  • True if session exists



26
27
28
# File 'lib/primate/session.rb', line 26

def exists?
  current&.exists || false
end

.get ⇒ Hash

Get session data (raises if no session)

Returns:

  • Session data



41
42
43
# File 'lib/primate/session.rb', line 41

def get
  current&.get || {}
end

.id ⇒ String

Get the session ID

Returns:

  • Session identifier



19
20
21
# File 'lib/primate/session.rb', line 19

def id
  current&.id
end

.set(data) ⇒ void

This method returns an undefined value.

Set session data

Parameters:

  • Data to store in session



56
57
58
# File 'lib/primate/session.rb', line 56

def set(data)
  current&.set(data)
end

.set_current(session_instance) ⇒ void

This method returns an undefined value.

Set the current session instance (called by framework)

Parameters:

  • Session instance from JavaScript runtime



12
13
14
# File 'lib/primate/session.rb', line 12

def set_current(session_instance)
  self.current = session_instance
end

.try ⇒ Hash

Try to get session data (returns empty if no session)

Returns:

  • Session data or empty hash



48
49
50
# File 'lib/primate/session.rb', line 48

def try
  current&.try || {}
end