Class: PUNK::Session

Inherits:
Model
  • Object
show all
Defined in:
lib/punk/models/session.rb

Instance Method Summary collapse

Methods inherited from Model

#inspect, sample, sample_dataset, symbolize

Methods included from Loggable

#exception, #logger, #profile_debug, #profile_info, #profile_trace

Instance Method Details

#current?Boolean

Returns:

  • (Boolean)


72
73
74
# File 'lib/punk/models/session.rb', line 72

def current?
  !timeout?
end

#eraseObject



81
82
83
# File 'lib/punk/models/session.rb', line 81

def erase
  update(slug: nil, salt: nil, hash: nil)
end

#increment_attemptsObject



85
86
87
# File 'lib/punk/models/session.rb', line 85

def increment_attempts
  update(attempt_count: attempt_count + 1)
end

#timeout?Boolean

Returns:

  • (Boolean)


76
77
78
79
# File 'lib/punk/models/session.rb', line 76

def timeout?
  timeout! if (created? || pending?) && created_at < 5.minutes.ago || active? && (updated_at < 1.month.ago || created_at < 1.year.ago)
  expired?
end

#validateObject



65
66
67
68
69
70
# File 'lib/punk/models/session.rb', line 65

def validate
  validates_presence :identity
  validates_includes [:created, :pending, :active, :expired, :deleted], :state
  validates_integer :attempt_count
  validates_includes [0, 1, 2, 3], :attempt_count
end