From: "matz (Yukihiro Matsumoto)" Date: 2013-08-31T15:06:30+09:00 Subject: [ruby-core:56918] [ruby-trunk - Feature #8846] Publicize Module#include Issue #8846 has been updated by matz (Yukihiro Matsumoto). 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. Matz. ---------------------------------------- Feature #8846: Publicize Module#include https://bugs.ruby-lang.org/issues/8846#change-41469 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/