Bazen objelerin private methodlarını konsol üzerinde vs. çalıştırmaya ihtiyaç duyabilirsiniz.

class Foo
  private

  def bar
    "foo bar baz"
  end
end

Ama gizli methoda erişmeye çalışırsak kardeş sen ne yapıyorsun bu private method hatası dönüyor.

> Foo.new.bar
# NoMethodError: private method `bar' called for #<Foo:0x007fed14294628>

Ama send ile çağırırsak ?

> Foo.new.send(:bar)
# "foo bar baz"

Yuppi!

Kaynaklar

Aşkın Gedik Ruby on Rails Developer