From: Intransition Date: 2010-04-07T01:21:16+09:00 Subject: Re: public/private/protected instead of def I should point out why this even crossed my mind. I have a piece of code like so: class C < Module def initialize(&block) instance_eval(&block) end end Within it the normal public/private/protected do not work. M = C.new do private define_method(:x){ "x" } end class X include M end X.new.x #=> "x" (instead of an error) So it occurred to to make public/private/protected helper methods in this context, which led me to the larger thought.