Aquí es una clase que solía tenerLa inclusión de módulos en una clase y la ejecución de código
class Something
# Defines the validates class methods, which is called upon instantiation
include Module
validates :name
validates :date
end
ahora tengo varios objetos que están utilizando las mismas funcionalidades, y peor aún, varios objetos que están definiendo cosas similares, de esta manera:
class Anotherthing
# Defines the validates class methods, which is called upon instantiation
include Module
validates :age
end
quiero 're-uso' el contenido de estas clases, por lo que les convirtió en módulos:
module Something
# Defines the validates class methods which is called upon instantiation
include Module
validates :name
validates :date
end
module Anotherthing
# Defines the validates class methods which is called upon instantiation
include Module
validates :age
end
Y ahora puedo crear una clase
class ADualClass
include Something
include Anotherthing
end
El problema que tengo es que el método valida no se llama cuando se crea un objeto ADualClass ... Parece que el "valida: cosa" nunca es llamado. ¿Porqué es eso? ¿Cómo puedo forzar esto?