Je sais que je peux ajouter de nouvelles méthodes aux modèles mais je ne peux pas sembler écraser une méthode existante. Voici ce que j'aiComment remplacer une méthode d'instance existante d'un module dans Ruby?
Dans mon User.rb
include ExtraMethods
def is_invisible?
true unless self.active?
end
Dans mon module
module ExtraMethods
def self.included(base)
base.extend(ClassMethods)
end
module ClassMethods
def user_extra_methods
include ExtraMethods::InstanceMethods
end
end
module InstanceMethods
def is_invisible?
true unless self.active? || self.admin?
end
end
end
ActiveRecord::Base.send(:include, ExtraMethods)
User.send(:user_extra_methods)
Ce que je veux arriver est la méthode dans le plug-in pour remplacer la méthode dans le modèle. Toutes les pensées ou références seraient grandes, ne peuvent pas sembler trouver une bonne référence pour ceci.
merci!
J