HELLO, I’M SERHAT AND THIS IS MY FANCY TITLE.

Rbenv ile ruby ve rails kurulumu - debian 7


Rbenv, RVM gibi ancak RVM'ye göre çok daha basit bir şekilde, birden çok Ruby versiyonunu birlikte kullanmak için geliştirilmiş bir araçtır. Sisteminizde tek bir Ruby sürümüne ihtiyaç duyuyorsanız dahi, gelecekte farklı sürümlere ihtiyaç duyabileceğiniz için rbenv ile kurulum yapmanızı öneririm.

Öncelikle rbenv'i /home/foo altına klonlayın:

git clone https://github.com/sstephenson/rbenv.git ~/.rbenv

Daha sonra PATH'e rbenv değişkenlerini ekleyin:

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
Continue reading

Rails'te CSV İşlemleri - Roo ve SmarterCSV GEM'leri


Roo GEM

CSV, XLS ve ODS'yi başarıyla okuyor, ancak tüm yaptığı bundan ibaret - başka bir özelliği yok.

Roo GEM CSV Load

require 'roo'
s = Roo::CSV.new("/home/msdundar/Masaüstü/import.csv")
=> #<Roo::CSV:0x9db2adc @filename="/home/msdundar/Masaüstü/import.csv", @options={}, @cell={}, @cell_type={}, @cells_read={}, @first_row={}, @last_row={}, @first_column={}, @last_column={}, @header_line=1, @default_sheet="default">

Roo GEM CSV Read

# encoding: utf-8
require 'roo'
s = Roo::CSV.new("/home/msdundar/Masaüstü/import.csv")

for i in (s.first_row..s.last_row)
  puts s.cell(i,3)
end
Continue reading

GEM - unicode utils


MERNİS'e yaptığım bir request'te, Ruby'nin upcase metodu kaynaklı Türkçe karakter problemi ile karşılaştım.

SOAP request'ini incelediğimde "ü" karakterinin büyük harfe çevrilemediğini gördüm:

<env:Body>
  <tns:TCKimlikNoDogrula>
  ...
    <tns:Ad>MUSTAFA SERHAT</tns:Ad>
    <tns:Soyad>DüNDAR</tns:Soyad>
  ...
  </tns:TCKimlikNoDogrula>
</env:Body>

Türkçe karakterlerin doğru şekilde büyük ve küçük harflere çevrilmesi için unicode_utils GEM'ini kullanabilirsiniz. Daha sık güncellenen ve daha performanslı benzer bir GEM olarakta unicode'u kullanabilirsiniz. Bu yazıda unicode_utils GEM'i takip edilecek.

Continue reading

Rails - Callbacks


Kullanıcılardan herhangi biri hesabını iptal ettiği zaman adminlere bilgilendirme maili gitmesi, bir işlem tetiklendiğinde - başka bir işlemin de gerçekleşmesi veya bir model nesnesi oluşturduğunuzda, başka bir model nesnesinin de onla ilişkili olarak oluşması gibi durumları tanımlarken ihtiyaç duyduğumuz metodların en sık kullanılanları Rails'te 6 tanedir. Bunlar:

  • before_create
  • after_create
  • before_save
  • after_save
  • before_destroy
  • after_destroy

Zaten bu ifadelerin ne iş yaptığı isimlerinden de anlaşıldığı için tekrarlamayacağım.

Continue reading

KPS - MERNİS Sorgulama - Ruby, Savon ve SOAP


Geçtiğimiz hafta hem TTMesaj servisini hem de KPS'i (Kimlik Paylaşım Sistemi) Rails uygulamalarına entegre etme ihtiyacımızla birlikte, ismini pek sık duyduğum SOAP ile haşır neşir olmak durumunda kaldım. Üç-dört gün sonunda SOAP bana herhangi bir üçüncü dünya ülkesinin beyaz yakalı "plaza" çalışanını çağrıştırıyor. Bu çağrışımda ülkemizdeki SOAP servisleri ile haberleşen kod örneklerinin büyük çoğunlukla C#, ASP.Net ve Java ile yazılmış olmasının payı büyük.

Continue reading