36 lines
634 B
Ruby
36 lines
634 B
Ruby
# frozen_string_literal: true
|
|
|
|
class Session < ApplicationRecord
|
|
################
|
|
# Associations #
|
|
################
|
|
|
|
belongs_to :account
|
|
|
|
#############
|
|
# Callbacks #
|
|
#############
|
|
|
|
before_validation :turn_nils_into_blanks
|
|
before_validation :strip_extra_spaces
|
|
|
|
###############
|
|
# Validations #
|
|
###############
|
|
|
|
validates :logged_at, presence: true
|
|
|
|
validates :ip_address, presence: true
|
|
|
|
validates :user_agent, length: { maximum: 10_000 }
|
|
|
|
private
|
|
|
|
def turn_nils_into_blanks
|
|
self.user_agent = '' if user_agent.blank?
|
|
end
|
|
|
|
def strip_extra_spaces
|
|
self.user_agent = user_agent&.strip
|
|
end
|
|
end
|