Class: SimpleAuth::Session

Inherits:
Object
  • Object
show all
Defined in:
lib/simple_auth/session.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(scope:, session:, record: nil) ⇒ Session

Returns a new instance of Session.



7
8
9
10
11
# File 'lib/simple_auth/session.rb', line 7

def initialize(scope:, session:, record: nil)
  @scope = scope
  @session = session
  self.record = record if record
end

Class Method Details

.create(**kwargs) ⇒ Object



3
4
5
# File 'lib/simple_auth/session.rb', line 3

def self.create(**kwargs)
  new(**kwargs)
end

Instance Method Details

#recordObject



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

def record
  @record ||= record_class
              .find_by_id(record_id_from_session) if record_id_from_session
end

#record=(record) ⇒ Object



13
14
15
16
# File 'lib/simple_auth/session.rb', line 13

def record=(record)
  @session[record_key] = record.try(:id)
  @record = record
end

#record_classObject



23
24
25
# File 'lib/simple_auth/session.rb', line 23

def record_class
  @record_class ||= Object.const_get(:"#{@scope.to_s.camelize}")
end

#record_id_from_sessionObject



31
32
33
# File 'lib/simple_auth/session.rb', line 31

def record_id_from_session
  @session[record_key]
end

#record_keyObject



27
28
29
# File 'lib/simple_auth/session.rb', line 27

def record_key
  :"#{@scope}_id"
end

#valid?Boolean

Returns:

  • (Boolean)


35
36
37
# File 'lib/simple_auth/session.rb', line 35

def valid?
  record.present?
end