Files
fizzy/app/models/user/named.rb
T
Mike Dalessio b75d2ae6d8 Validate User name presence and handle blank names gracefully
Addresses an issue where User#familiar_name assumed `name` was always
present, potentially raising an exception during view rendering. Now
User validates name presence, and User#familiar_name handles blank
strings without error, in case any existing invalid records exist.
2025-12-16 10:44:10 -05:00

26 lines
443 B
Ruby

module User::Named
extend ActiveSupport::Concern
included do
scope :alphabetically, -> { order("lower(name)") }
end
def first_name
name.split(/\s/).first
end
def last_name
name.split(/\s/, 2).last
end
def initials
name.scan(/\b\p{L}/).join.upcase
end
def familiar_name
names = name.split
return name if names.length <= 1
"#{names.first} #{names[1..].map { |n| "#{n[0]}." }.join}"
end
end