module Chef::Mixin::LazyModuleInclude

If you have:

module A

extend LazyModuleInclude

end

module B

include A

end

module C

include B

end

module Monkeypatches

def monkey
  puts "monkey!"
end

end

A.send(:include, Monkeypatches)

Then B and C and any classes that they’re included in will also get the monkey method patched into them.