モジュール内で、そのモジュールが提供するメソッドだけ
から呼び出せるサブルーチンのようなものを作りたいのですが、
メソッドの可視性はどうすればよいですか?

module Foo
 def foo
  puts 'foo'
 end

 def bar
  foo
 end
 module_function :bar
end

というモジュールで Foo::bar とやれば 'foo' が出力され、
Foo::bar という呼び出しはできないようにしたいのです。