Module: Session

Defined in:
lib/primate/session.rb

Overview

Session management

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.currentObject

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:

  • data (Hash)

    Initial session data



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

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

.destroyvoid

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:

  • (Boolean)

    True if session exists



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

def exists?
  current&.exists || false
end

.getHash

Get session data (raises if no session)

Returns:

  • (Hash)

    Session data



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

def get
  current&.get || {}
end

.idString

Get the session ID

Returns:

  • (String)

    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 (Hash)

    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 (SessionInstance)

    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

.tryHash

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

Returns:

  • (Hash)

    Session data or empty hash



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

def try
  current&.try || {}
end