module Algebrick::Reclude

fix module to re-include itself to where it was already included when a module is included into it

noinspection RubySuperCallWithoutSuperclassInspection

Public Instance Methods

extended(base) click to toggle source
Calls superclass method
# File lib/algebrick/reclude.rb, line 24
def extended(base)
  used_by << base
  super(base)
end
include(*modules) click to toggle source
Calls superclass method
# File lib/algebrick/reclude.rb, line 29
def include(*modules)
  super(*modules)
  modules.reverse.each do |module_being_included|
    used_by.each do |mod|
      mod.send :include, module_being_included
    end
  end
end
included(base) click to toggle source
Calls superclass method
# File lib/algebrick/reclude.rb, line 19
def included(base)
  used_by << base
  super(base)
end

Private Instance Methods

used_by() click to toggle source
# File lib/algebrick/reclude.rb, line 40
def used_by
  @used_by ||= []
end