Création d'un module d'hériter d'un autre module en Ruby
Je suis en train de faire un petit programme pour les Rails qui comprend quelques-uns de mes méthodes, j'ai construit à l'intérieur d'un module à l'intérieur de la ApplicationHelper
module. Voici un exemple:
module Helper
def time
Time.now.year
end
end
module ApplicationHelper
# Inherit from Helper here...
end
Je sais que ApplicationHelper < Helper
et include Helper
serait de travailler dans le contexte d'une classe, mais que voulez-vous utiliser pour le module à module hérite? Merci.
Vous devez vous connecter pour publier un commentaire.
En fait, vous peut définir un module à l'intérieur d'un autre module, puis inclure sein de l'extérieur.
Un potentiel gotcha est que si le inclus module se fixe les méthodes de la classe, ces méthodes peuvent être attachés à l'objet incorrect.
Dans certains cas, il peut être plus sûr d'inclure le "parent" module directement sur la classe de base, puis d'inclure un autre module avec les nouvelles méthodes. par exemple,
Les nouvelles méthodes ne sont pas définis directement dans
ApplicationHelper
comme leinclude Helper
serait courir après les définitions de méthode, les obligeant à être remplacé parHelper
. On pourrait aussi définir les méthodes à l'intérieur de laclass_eval
bloc