Je voudrais savoir où mettre le code de patch singe comme suit dans l'application de mes rails qui ouvrirait les classes existantes et ajouterait ou remplacerait les nouvelles fonctionnalités. Je veux que ce code soit disponible pour toutes les instances dès que possible. Autoload est-il la bonne façon de le faire et de mettre l'appel dans environment.rb?Où mettre des extensions d'objet ruby
class Class
def attr_initializer(*attributes)
attr_reader *attributes
class_eval <<-RUBY
def initialize(#{attributes.join(', ')})
#{attributes.map{ |attribute| "@#{attribute}" }.join(', ')} = #{attributes.join(', ')}
end
RUBY
end
end
Merci, qu'en est-il des tests, dois-je ajouter du code dans test_helper pour initialiser ce code? – dagda1
Ces initialiseurs seront exécutés lors du chargement de la suite de tests. Les fichiers dans config/initialiers sont exécutés pour tous les environnements –