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