Files
fizzy/app/models/user/named.rb
T
Jason Zimdars 137a16a810 Move to concern
2025-04-26 19:26:34 -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