Hello,
Je ne sais plus qui à PoR m’avait demandé si je faisais des plugins et
sur
quoi. Voilà donc quelques tout petits plugins persos si ça intéresse
quelqu’un. Ils sont certainement faits à la va vite et perfectibles,
peut
être même qu’ils ne fonctionnent pas. N’hésitez pas à corriger ou
améliorer.
-
format_optional: Permet de corriger ce que j’appellerai un bug
volontaire dans Rails 1.2. Dans une route avec “toto/:index.:format”, la
partie :index ne peut pas être facultatif (alors qu’elle pourrait l’être
dans une route “toto/:index/:format”). Le point est un séparateur pour
les
éléments d’une route mais (volontairement) pas un séparateur pour les
éléments facultatifs. Le plugin corrige ça. -
french_date: Je n’ai pas grand chose à faire coté localisation et
internationnalisation donc j’ai évité les gros plugins comme globalize.
Celui là est juste pour ajouter une méthode #french_strftime, similaire
Ã
#strftime, mais avec les noms de jours/mois en français -
global_route_defaults: Le plugin intercepte l’ajout d’une route, et
enlève tous les :requirements et les :defaults qui ne sont pas
utiles/pertinents pour la route en train d’être ajoutée (par exemple si
vous avez un :requirements { :toto => /a.*e/’ } mais que :toto
n’apparait
nulle part dans votre route). Ca vous permet de déclarer toutes les
composantes (:requirements et :defaults) de vos routes dans un gros
map#with_options et après de pouvoir déclarer vos routes avec un minimum
de paramètres, uniquement ce qui est vraiment spécifique. Sans le
plugin,
déclarer un :requirements inutile casse :url_for, et déclarer un
:defaults
inutile provoque une erreur. -
string_helper: Ajoute quelques méthodes dont j’ai l’habitude avec PHP
et
que je n’ai pas retrouvée dans Rails/Ruby : mise en majuscule de la
première lettre, et troncature d’un texte sans couper au milieu d’un
mot. -
string_to_ascii : Prend un texte français, et retire les accents et
cédilles (majuscules comprises). Normalement on peut le faire plus
efficacement avec iconv et l’option translit mais depuis quelques temps
la
translitération de “é” me donne “'e” et plus “e” donc j’y suis allé à la
main.
N’hésitez pas à commenter/améliorer/corriger ou à amener vos propres
petites brides de code.