Sayfa: « 1 ... 4 5 6 7 8 ... 10 »
#!/usr/bin/ruby
 
# komut verir
def komut(islem, k)
 
puts "[Başlatılıyor] #{k}"
 
system(islem) ? puts("[Başlatıldı] #{k}") : puts("[Hata] #{k} - Hata Kodu: #{$?}")
end
 
# ortam için komutlar
komut('service mysql-server start', 'mysql')
komut('gem_server &', 'gem_server')

Feedburner Adresi    14/06/07

  1. < %= (1..@sayfa_pages.page_count).collect { |i| link_to(i, {:page => i}) }.join(' - ') unless @sayfa_pages.page_count == 1 -%>

Kıssadan Hisse    13/06/07

Kıssadan Hisse’yi okumak için devam ediniz.

Devamını Okumak İstiyorum

ipucu: request.post?    09/06/07

Bir konu hakkında belge ortaya çıkartmak eğer vaktiniz kısıtlıysa oldukça uzun sürüyor. Bazı konular hakkında belge hazırlamaya çalışıyorum Rails ile ilgili ve vaktim kısıtlı. Onlar ortaya çıkana kadar ipuçları paylaşımı yapalım.

request.post?

def kayit
 
if request.post?
   
# form gönderilmiş
   
# ona göre işlem yap
 
else
   
# form henüz ortada yok.
 
end
end

Ruby IDE from CodeGear    03/06/07

Bi’ ara bi’ yerde “CodeGear yoksa Ruby için bir editör geliştirecek mi” tarzında kurduğum cümle sanırım gerçek olacak.
Ağ sayfası burada Ruby IDE’nin.

Hadi hayırlısı.

Bir alanı otomatik tamamlama sistemine geçirmek için Rails tarafında 2 satırlık kod yeterli olabiliyor çoğu kez. ActionController alt sınıfına auto_complete_for :model, :alan ve görünümde(view) bu özelliğe sahip olunması istenilen “girişe”(edit) text_field_with_auto_complete :model, :alan. Ben listeyi kendim göstermek istiyorum derseniz de Controllerde auto_complete_for_model_alan fonksiyonunda biraz değişiklik yapabilirsiniz.

Daha hızlı bir çözüm ise “yerel” kullanımla beraber kayıtları JavaScript dizisi biçiminde alıp Autocompleter.Local kullanmak olabilir.

class BlaBla < ActionController::Base
 
def etiket_tamamlama_liste
   
etiketler = Etiket.find(:all)
   
@headers['content-type'] = 'text/javascript'
   
liste = "var etiket_liste = new Array(#{etiketler.size});\n"
   
etiketler.each_with_index { |etiket, index|  liste << "etiket_liste[#{index}] = '#{etiket.etiket}';\n" }
   
render :text => liste
 
end
end
<script src="/gunluk/etiket_tamamlama_liste" type="text/javascript" ></script>
< %= text_field 'giris', 'etiketler' %>
<div class="auto_complete" id="giris_etiketler_auto_complete" ></div>
 
< %= javascript_tag("new Autocompleter.Local('giris_etiketler' , 'giris_etiketler_auto_complete' ,
                   etiket_liste, {fullSearch: true, frequency: 0, minChars: 1, tokens: ','});
") %>

javascript_tag ile Autocompleter.local için istemci oluşturuyoruz ve listeyi “,” ile ayırarak etiket sisteminde seçimi güzelce yaptırıyoruz.

Autocompleter.Local(INPUT_ADI, GÖSTERİLECEK_LİSTE_IDSI, JAVASCRİPT_DEĞİŞKEN_ADIMIZ, DİĞER AYARLAR)

Autocompleter.Local‘ın scriptaculous içinde olduğunu belirterek javascript_include_tag :defaults ile genel javascriptsel dosyaları dahil etmeyi unutmayınız.

textile için editör    02/06/07

http://slateinfo.blogs.wvu.edu/plugins/textile_editor_helper

kurulum

  • script/plugin install http://svn.webtest.wvu.edu/repos/rails/plugins/textile_editor_helper/
  • rake textile_editor_helper:install
  • < %= textile_editor 'giris', 'icerik' -%>
  • < %= textile_editor_initialize -%>

Rails için genel Türkçe olayları halleden TurkceRb eklentisini projelerinize kurabilirsiniz.

script/plugin install svn://rubyforge.org/var/svn/turkcerb

İçerik

  • Model ve Tablo İlişkilendirmeleri
  • created_at yerine kayit_tarihi (created_at kullanılabilir durumda kalır)
  • updated_at yerine guncelleme_tarihi (updated_at kullanılabilir durumda kalır)
  • distance_of_time_in_word Türkçeleştirmesi
  • ActiveRecordHelper Türkçeleştirmesi
  • Tarihsel seçimlerin Türkçeleştirilmesi

Eklenti için tasarı sayfası: http://turkcerb.rubyforge.org

Bu sıralar bir yazılımın (boyahane otomasyonu) geliştirilmesi ve kurulumu ile ilgilendiğim için bilgisayar başında geçirdiğim vakit fazla olsa da internette geçirdiğim süre oldukça azaldı (8 den sonra azami 1 saat)

İlk fırsatta Wordpress sisteminden “muhtıra“ya geçiş yapacağım. Bi’ kaç saatlik işi var Muhtıra’nın, lisansı sanıyorum GPL olacak (günlük yazılımı, rails) Muhtıra hakkında daha ayrıntılı bilgi yazacağım inşallah yakında.

Ruby ve Rails ile ilgili bi’ kaç tane düzenlenmesi gereken dökümanda sırada bekliyor. Düzenlendikten sonra en yakın zamanda paylaşacağım.

class RedCloth
 
# Patch for RedCloth.  Fixed in RedCloth r128 but _why hasn't released it yet.
 
# <a href="http://code.whytheluckystiff.net/redcloth/changeset/128">http://code.whytheluckystiff.net/redcloth/changeset/128</a>
 
def hard_break( text ) 
   
text.gsub!( /(.)\n(?!\n|\Z| *([#*=]+(\s|$)|[{|]))/, "\\1<br />" ) if hard_breaks 
 
end 
end

kaynak kaynak-2

Kde altında güzel bir ftp istemcisi aranıyorsa KFtpGrabber zaten baştan elenmeli. Aklımda Ruby&Qt ile Ftp istemcisi yazmak var, o zamana kadar Kasablanca güzel bir çözüm olacak sanırım.

Daha önce “Türkçe Alan Adları İçin Tarihsel Kayıtlar ( created_at & updated_at => kayit_tarihi , guncelleme_tarihi )” konusunda bahsettiğim Rails’in otomatik olarak tarih atadığı “created_at|updated_at” ve “updated_at|updated_on” alanlarını Türkçe isim kullanarak değiştirmek için daha başka bi’ yol ise şu şekilde;

Not

Bu yolda Tablodaki alanların isimlerinin created_at|created_on, updated_at|updated_on şeklinde olması gerektiğini unutmayınız. Yapılan iş sadece başka isimden bu alanlara erişmek olacaktır.

Amaç

Yazının asıl amacı tablo alanlarını belirli bir standardın dışına nasıl çıkarabilirize cevap vermektir. Railsin otomatik oluşturduğu “attribute” olaylarını el ile yapmayı görmektir.

def kayit_tarihi
 
self[:created_at]
end
 
def kayit_tarihi(tarih)
 
self[:created_at] = tarih
end
 
# read_attribute ile self[:...] aynı işlevi yapar
def guncellenme_tarihi
 
read_attribute(:updated_at)
end
 
# self[..] = blabla yazmak için write_attribute kullanılır
def guncellenme_tarihi(tarih)
 
write_attribute(:updated_at, tarih)
end

Tüm bu alanlara sahip tablolarda bu kodu kullanmanız gerektiğini unutmayınız.

vakit iki.    08/05/07

her vakit
bir ertelemeye denk düşerken
kokusu çıkmadan saçından
	kızıllığının
mevsimin yazlığının verdiği
	güneşliliğinle gel ...

her ertelemenin üzüntüye varacağı
	bi' kaç sonraki yılların
daha da olgunlaştırılmış sevdaya
	kavuşacağı
çocuk isimlerini raflardan çıkartıp
	şiirselliğini kaybettireceğimiz
olmayanlara mektupların adını kaybedeceği
güzel zamanlara varmak üzere gel ...

anlaşılamıyoruz,
tarafımızdan bile ...

git,
gelmek üzere.

mayıs sekiz, 2007
murat arif çeliker

Rails ActiveRecord modülünde kaydın eklenme tarihini ve güncellenme tarihini eğer created_at|created_on ve/veya updated_at|updated_on alanlarınız var ise otomatik olarak bunlara kaydeder.

Ufak Bi’ Not:

Alanlara kaydın otomatik yapılmaması için iki yolumuz mevcut;

  • ActiveRecord::Base.record_timestamps = false ile (environment.rb dosyasına ekleyerek) tüm modellerde geçerli olur.
  • self.record_timestamps = false ile yazılan model için geçerli olur.

Türkçe Alan Adları

Gelelim asıl konumuza.

Artık alanlarımızı “kayit_tarihi” “guncelleme_tarihi” şeklinde oluşturarak da Rails’in bu alanlara otomatik olarak kayıt yapmasını sağlayabiliriz.

Bunun için environment.rb dosyasına aşağıdaki satırları eklemeniz gerekmektedir.

# Türkçe Tarihsel Alan Adlarını Otomatik Kaydettirici
# muarifer, http://www.ikinoktayazilim.com/wordpress
module Muarifer
 
module EtkinKayit
   
module Zaman
     
     
# önceki fonk.ları değiştirelim
     
def self.included(base)
       
base.alias_method_chain :create, :tr
       
base.alias_method_chain :update, :tr
     
end
     
     
# oluşturma tarihini otomatik kaydet
     
def create_with_tr
       
if record_timestamps
         
t = self.class.default_timezone == :utc ? Time.now.utc : Time.now
         
write_attribute('kayit_tarihi', t) if respond_to?(*:kayit_tarihi) && kayit_tarihi.nil?
         
write_attribute('guncelleme_tarihi', t) if respond_to?(:guncelleme_tarihi)
       
end
       
create_with_timestamps
     
end
     
     
# güncelleme tarihini otomatik kaydet
     
def update_with_tr
       
if record_timestamps
         
t = self.class.default_timezone == :utc ? Time.now.utc : Time.now
         
write_attribute('guncelleme_tarihi', t) if respond_to?(:guncelleme_tarihi)
       
end
       
update_with_timestamps
     
end   
   
end 
 
end 
end
 
ActiveRecord::Base.class_eval {
   
include Muarifer::EtkinKayit::Zaman
}

Bir Not Daha

Kodlarımızı projeye dahil ettikten sonra created_at|created_on ve updated_at|updated_on alanları da güncellenmeye devam edecektir. Bu konuda sıkıntınız olmasın.

« Önceki Sayfa | Sonraki Sayfa »

Sayfada yayımlanan yazılar aksi belirtmedildiği sürece Murat Arif Çeliker'e aittir. Yorumlar, yorumu yapan kullanıcıların kendi görüşleridir.
açılış - deneyhane - tasarılar - hakkımda - iletişim -

Sitede altyapı olarak Wordpress kullanılmıştır.