# frozen_string_literal: true
module Nameable
extend ActiveSupport::Concern
included do
pg_enum :sex, %i[male female]
before_validation :turn_blank_nameable_attributes_into_nils
validates :last_name, presence: true
validates :first_name, presence: true
end
def turn_blank_nameable_attributes_into_nils
%i[
last_name first_name middle_name sex date_of_birth place_of_birth
].each do |attribute|
public_send "#{attribute}=", nil if public_send(attribute).blank?