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ı…)