Class: Passwordless::Session

Inherits:
ApplicationRecord show all
Defined in:
app/models/passwordless/session.rb

Overview

The session responsible for holding the connection between the record trying to log in and the unique tokens.

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.validObject



25
26
27
# File 'app/models/passwordless/session.rb', line 25

def self.valid
  available
end

Instance Method Details

#available?Boolean

Returns:

  • (Boolean)


49
50
51
# File 'app/models/passwordless/session.rb', line 49

def available?
  !expired?
end

#claim!Object



40
41
42
43
# File 'app/models/passwordless/session.rb', line 40

def claim!
  raise Errors::TokenAlreadyClaimedError if claimed?
  touch(:claimed_at)
end

#claimed?Boolean

Returns:

  • (Boolean)


45
46
47
# File 'app/models/passwordless/session.rb', line 45

def claimed?
  !!claimed_at
end

#expired?Boolean

Returns:

  • (Boolean)


32
33
34
# File 'app/models/passwordless/session.rb', line 32

def expired?
  expires_at <= Time.current
end

#timed_out?Boolean

Returns:

  • (Boolean)


36
37
38
# File 'app/models/passwordless/session.rb', line 36

def timed_out?
  timeout_at <= Time.current
end