Issue #8846 has been updated by marcandre (Marc-Andre Lafortune).


Great :-)

Taking Rails as an example, I find that the next in line are `define_method`, `remove_const`, `alias_method` and `attr_*`

As I stated in #6539, I believe these should be public also.
----------------------------------------
Feature #8846: Publicize Module#include
https://bugs.ruby-lang.org/issues/8846#change-41506

Author: matsuda (Akira Matsuda)
Status: Open
Priority: Low
Assignee: 
Category: core
Target version: current: 2.1.0


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


-- 
http://bugs.ruby-lang.org/