On repars sur les billets techniques avec un mini tout de suite.
Supposons que vous avez une application permettant de gérer des widgets. Vous avez donc dans le backoffice un ou plusieurs widgets que vous pouvez intégrez dans votre application.
Puis dans l'application elle-même, vous avez un helper avec une méthode pour chacun des widgets, exécutant le code nécessaire à l'affichage de celui-ci.
En php, l'exécution de la méthode relative à ce widget, dont le nom est en base de données se ferait de la manière suivante :
$this->$methodName();
Mais vous pouvez toujours essayer en Ruby, bon courage. En effet, les variables n'ont pas de $.
Mais c'est la que la méthode self.send fait son apparition.
self.send(@methodName, parametre1, parametre2)
Cette méthode vous appellera donc la méthode dont le nom est présent dans @methodName en y passant les paramètres passés en argument :)


Commentaires
Je viens de découvrir send. Je me suis dit que cette méthode est bien jolie, mais qu'à part se la jouer, elle ne servait à rien. Merci de m'avoir un cas d'utilisation pratique.