新井です。

In message "[ruby-list:38524] Object#instance_eval and private"
  on 13 Oct 2003 02:57:06 +0900,
  Masao Mutoh <mutoh / highway.ne.jp> wrote:
> むとうです。
> 
> Object#instance_eval()を使って定義したメソッドをprivate
> にしたいのですが、そのようなことはできますでしょうか。

class Test
   def initialize(m)
      instance_eval(m)
   end
   private
   def baz
     p "baz"
   end
end

a = Test.new(%Q[
    def hoge
      p "hoge"
    end

    def foo
      p "foo"
    end

    class <<self
    private :foo
    end
])

p a.private_methods(false)
# => ruby 1.8.0 (2003-10-10) [i586-linux]
     ["initialize", "baz", "foo"]

とか

--
新井康司 (Koji Arai)