Files
fizzy/app/models/user/named.rb
T
2026-03-11 13:36:09 +01:00

26 lines
448 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}\u00A0#{names[1..].map { |n| "#{n[0]}." }.join}"
end
end