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
Ruby on Rails Developer

Ben Aşkın, Protel Teknoloji Çözümlerinde yazılım geliştirme takım lideri olarak çalışıyorum.

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