class NameOfPerson::PersonName
def possessive(method = :full)
def possessive(method = :full) whitelist = %i[full first last abbreviated sorted initials] unless whitelist.include?(method.to_sym) raise ArgumentError, 'Please provide a valid method' end name = public_send(method) @possessive ||= "#{name}'#{'s' unless name.downcase.end_with?('s')}" end