From: "Martin J. Dürst" Date: 2013-09-09T16:05:02+09:00 Subject: [ruby-core:57084] Re: [ruby-trunk - Feature #8846] Publicize Module#include Hello Marc-Andre, On 2013/09/01 4:20, marcandre (Marc-Andre Lafortune) wrote: > > 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. #6539 is marked closed. Best to open a new issue. Regards, Martin. > ---------------------------------------- > 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 > >