Bugün sizlere öğrenince ufkunuzu iki katına çıkaracak birkaç minik ipucu göstereceğim.

Arama

Daha önce yazdığınız bir komutu yukarı, aşağı tuşları ile history’den getirmek yerine CTRL + R tuş kombinasyonu sayesinde bash history’de arar gibi rails console’da da arama yapabilirsiniz.

Yeniden Yükle

reload! ile uygulamayı tekrar yükleyebiliriz.

> reload!
Reloading...
true

Son işlem

_ ile son işlenen komutun değerine erişebilirsiniz.

> 1 + 2 * 4
# 9
> _ + 123
# 132

Daha İyi Oku

to_yaml ile aynı işe yarayan y‘yi kullanabilirsiniz.

object.to_yaml
y object

View Helperlarını Kullan

ActionView::Base objesi olan helper ile view helper methodlarını kullanabiliriz. Aslında helper, ActionView::Base class’ının ilklenmiş hali. Burada kafalar yandı anlatamadım göstereyim.

helper
foo = ActionView::Base.new # Aynı bok

Birkaç örnekte göstereyim.

helper.link_to "Home", app.root_path
# "<a href=\"/\">Home</a>"

helper.pluralize(3, 'mouse')
#"3 mice"

helper.time_ago_in_words 3.days.ago
"3 days"

?!(başlık bulamadım :D)

ActionDispatch::Integration::Session objesi olan app sayesinde ise uygulama içinde sahte request yapabilir, route helperlarına erişebilirsiniz.

> app.root_path
# "/"
> app.get "/"
# 200
> app.response.body
# "<!DOCTYPE html><html>Home!</html>"
> app.response.success?
# true

Kaynak Kodu

source_location methodun tanımlı olduğu dosyanın ismini ve tanımlandığı satırı veriyor.

 > location = User.instance_method(:update).source_location
[
  [0] "/Users/askingedik/.rvm/gems/ruby-2.2.1/gems/activerecord-4.2.0/lib/active_record/persistence.rb",
  [1] 245
]

> User.method(:update).source_location
[
    [0] "/Users/askingedik/.rvm/gems/ruby-2.2.1/gems/activerecord-4.2.0/lib/active_record/querying.rb",
    [1] 8
]

# Şöyle de sublime editorde açtıralım dosyayı of of of
> `subl #{location[0]}:#{location[1]}`

Çok iyi lan!

Aslında bugün bu konuyu yazmayacaktım, farklı bir konu yazacaktım ama uykum var. Yarına artık. (Meraklandırma işlemi tamamlandı…)

Kaynaklar

Aşkın Gedik Ruby on Rails Developer