Si vous pensez que la condition utilisée dans toutes ces réponses jusqu'à présent est incorrecte, vous pouvez plutôt vérifier si le mot est déjà au pluriel.
Donc, en utilisant la solution de Jamie Flournoy comme exemple, vous pouvez utiliser self == self.pluralize
au lieu de 's' == self[-1, 1]
et on obtient ces résultats :
"Steelers".possessive # Steelers'
"Ross".possessive # Ross's
"Chris".possessive # Chris' before inflections.rb change, Chris's after
"Ross".pluralize
est déjà "Rosses", comme on pouvait s'y attendre. Mais "Chris".pluralize
ne l'est pas, il faudrait donc ajouter inflection.irregular "Chris", "Chrises"
à inflections.rb pour que la forme possessive apparaisse correctement. Et je suppose que vous devez continuellement ajouter des irrégularités pour d'autres mots/noms peu communs pour finir par avoir les bonnes formes possessives.
Encore une fois, si vous pensez qu'il est insuffisant de vérifier si la dernière lettre d'une chaîne de caractères est un s.