Je suis à la recherche d'un moyen (bibliothèque ou truc de métaprogrammation) de se brancher sur la définition de la méthode, pour pouvoir étendre certaines classes et attraper leur méthode (re) définition "événements" .Ruby: regarder la méthode (re) définition en runtime
1
A
Répondre
1
Avez-vous essayé de remplacer "define_method"? Au moins, vous pourriez attraper certaines des définitions de la méthode "runtime"? Rappel
3
Il ya le méthode_added rappel (voir http://www.ruby-doc.org/core/classes/Module.html#M001662 malheureusement, il n'y a pas de documentation). Vous pouvez l'utiliser comme suit:
class Foo
# define the callback...
def self.method_added(method_name)
puts "I now have a method called #{method_name}"
end
# the callback is called on normal method definitions
def foo
# "I now have a method called foo" will be printed
end
# the callback is called on method definitions using define_method
define_method :bar do
# "I now have a method called bar" will be printed
end
# the callback is called on method definitions using alias and the likes
alias :baz :foo # "I now have a method called baz" will be printed
end
1
Remplacer method_added
. Gardez à l'esprit, cependant, que si vous modifiez dynamiquement des méthodes dans method_added
, celles-ci provoqueront également l'appel de method_added
, vous devez donc avoir un moyen de savoir quelles sont les méthodes qui vous intéressent afin d'éviter une récursion infinie.
Questions connexes
- 1. Ruby Définition de l'auto
- 2. problème en utilisant une méthode en Ruby
- 3. Définition d'une méthode avec signes égal à Ruby
- 4. Ruby on Rails: Définition d'une méthode avec options
- 5. traduire la méthode python en ruby
- 6. Comment vérifiez-vous la version Gem dans Ruby at Runtime?
- 7. Regarder/lire un fichier journal en croissance
- 8. MacRuby: le runtime de l'objectif-c est le même que le runtime de ruby
- 9. F # Méthode Définition Syntaxe
- 10. set() runtime en python
- 11. Définition d'une chaîne dans la méthode setter
- 12. Android: Animer Regarder la position
- 13. Équivalent à la méthode findall() de Python dans Ruby?
- 14. Global "Aller à la définition" dans vim pour Ruby?
- 15. Définition de symboles en mode Formulaire - Ruby on Rails
- 16. méthode fields_for en Ruby on Rails
- 17. Comment déterminer un Dynamiquement Nom de la méthode en Ruby
- 18. Quel est l'équivalent de « référence de la méthode » en Ruby
- 19. Réflexion sur les paramètres de la méthode en Ruby
- 20. Quelqu'un peut regarder la syntaxe de mon rakefile?
- 21. Accès à la méthode dans Ruby
- 22. Redéfinir la méthode File :: dirname ruby
- 23. Ruby - FlexMock Backticks Méthode
- 24. Comment ajouter TextView en Runtime?
- 25. Mockito re-stub méthode déjà écrasée avec thenthrow
- 26. re directe/re-écrire mon domaine
- 27. Amélioration d'une méthode Ruby
- 28. Comment regarder les processus distants en C#?
- 29. Méthode synonymes dans Ruby
- 30. Ruby méthode class_eval