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.



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

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

Class Method Details

.create(**kwargs) ⇒ Object



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

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

.record_not_found_exceptionsObject



5
6
7
# File 'lib/simple_auth/session.rb', line 5

def self.record_not_found_exceptions
  @record_not_found_exceptions ||= []
end

Instance Method Details

#recordObject



24
25
26
27
28
29
30
# File 'lib/simple_auth/session.rb', line 24

def record
  return unless record_id_from_session

  @record ||= GlobalID::Locator.locate(record_id_from_session)
rescue *Session.record_not_found_exceptions
  nil
end

#record=(record) ⇒ Object



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

def record=(record)
  @session[record_key] = record ? record.to_gid.to_s : nil
  @record = record
end

#record_id_from_sessionObject



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

def record_id_from_session
  @session[record_key]
end

#record_keyObject



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

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

#valid?Boolean

Returns:

  • (Boolean)


40
41
42
# File 'lib/simple_auth/session.rb', line 40

def valid?
  record.present?
end