module TokenAuthenticateMe::Concerns::Models::Sessionable

Public Instance Methods

as_json(options = {}) click to toggle source
Calls superclass method
# File lib/token_authenticate_me/concerns/models/sessionable.rb, line 14
def as_json(options = {})
  { session: super({ include: :user }.merge(options)) }
end
attributes() click to toggle source
# File lib/token_authenticate_me/concerns/models/sessionable.rb, line 18
def attributes
  {
    'key' => key,
    'expiration' => expiration,
    'created_at' => created_at,
    'updated_at' => updated_at
  }
end
expiration_hours() click to toggle source
# File lib/token_authenticate_me/concerns/models/sessionable.rb, line 37
def expiration_hours
  24
end
generate_unique_key() click to toggle source
# File lib/token_authenticate_me/concerns/models/sessionable.rb, line 29
def generate_unique_key
  begin
    self.key = SecureRandom.hex
  end while self.class.exists?(key: key) # rubocop:disable Lint/Loop

  self.expiration = expiration_hours.hours.from_now
end