Estoy tratando de comprender el comportamiento de la declaración include
cuando se usa en Mixins múltiples. Es decir, tengo estas declaraciones:Comprender el comportamiento de la instrucción `include` para módulos mixin 'subsiguientes'
class Article < ActiveRecord::Base
include DoubleIncludedModule
include AModule
# ...
end
module AModule
include DoubleIncludedModule
# ...
end
module DoubleIncludedModule
# ...
end
¿Cuántas veces será el DoubleIncludedModule
incluidos en la clase Article
? Es decir, desde la inclusión "posterior" de DoubleIncludedModule
(primero en la clase Article
y luego en AModule
incluida en la clase Article
), el problema de "doble inclusión" será manejado automáticamente por Ruby o se incluirá el DoubleIncludedModule
(erróneamente) ¿dos veces? Por supuesto, me gustaría incluir el módulo DoubleIncludedModule
solo una vez. ¿Cómo puedo hacer eso (tal vez usando algunos métodos de Ruby on Rails) de la manera correcta?
El hecho de que esté utilizando Rails no significa que la pregunta tenga algo que ver con Rails. Rails no cambia la forma en que 'include' funciona en absoluto. Esto es puramente una pregunta de Ruby. –
@Andrew Marshall - Podría ser que existan algunos métodos de Ruby on Rails que pueden ayudar a resolver algunos problemas como, por ejemplo, en la pregunta. – Backo