10 Mar 2016

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
Software Engineer

Ben Aşkın,

Benimle ilgili daha fazla bilgiyi hakkımda sayfasına göz atarak veya Twitter, Facebook ve Github üzerinden takip ederek öğrenebilirsiniz.