I propose changing Module#include to a public method.
Background
Module#include is currently a private method.
However, the method is actually quite often used (particularly by gem library authors) for appending some features from outside of the target module, such as:
ActiveRecord::Base.send :include, MyPagination
Use case
% cd rails
% git grep "send[ (]:include," | wc -l
45
The basic motivation behind #include (and #prepend) being private is we didn't assume that kind of coding style.
As it turned out, that coding style became popular, I'd accept make them public.
I propose changing Module#include to a public method.
Background
Module#include is currently a private method.
However, the method is actually quite often used (particularly by gem library authors) for appending some features from outside of the target module, such as:
ActiveRecord::Base.send :include, MyPagination
Use case
% cd rails
% git grep "send[ (]:include," | wc -l
45