Navigation

Tuesday, July 27, 2010

Returning

Returning merupakan method dari kelas Object yang berfungsi untuk mengembalikan suatu value setelah melakukan yield suatu value pada block. Dengan Object#returning memudahkan untuk membangun, memanipulasi, serta mengembalikan suatu value apabila dipanggil dalam method. Method ini jika menggunakan framework Ruby on Rails. Contoh:
 # Tanpa returning
 def foo
   my_array = []
   my_array << "bar"
   my_array << "baz"
   return my_array
 end

 foo # => ['bar', 'baz']

 # returning dengan sebuah variabel lokal
 def foo
   returning my_array = [] do
     my_array << 'bar2'
     my_array << 'baz2'
   end
 end

 foo # => ['bar2', 'baz2']

 # returning dengan sebuah argument dalam block
 def foo
   returning [] do |my_array|
     my_array << 'bar3'
     my_array << 'baz3'
   end
 end

 foo # => ['bar3', 'baz3']

[via Ruby Quicktips]

Saturday, July 24, 2010

Inisialisasi Array Multidimensi

Array.new memungkinkan untuk menerima block sehingga memungkinkan untuk melakukan inisialisasi Array multidimensi:
a = Array.new(4) { Array.new(4) }
Kode diatas akan menghasilkan Array dua dimensi dengan banyak elemen 4 x 4.

[via Ruby Quicktips]

Arel Pada Rails 3

Catatan: Artikel ini bersumber pada Stackoverflow dimana terdapat pertanyaan mengenai Arel. Artikel ini diringkas dan ditranslasikan sedemikian rupa ke Bahasa Indonesia agar mudah dimengerti.

Apa itu Arel?
Arel adalah sebuah objek dari model untuk aljabar operator query relasional.

Apakah Arel merupakan pengganti dari ActiveRecord?
Arel tidak menggantikan ActiveRecord. Arel merupakan pengganti dari pembuatan query SQL secara manual dan merupakan layer query yang berada dibawah ActiveRecord, tetapi dapat digunakan oleh ORM selain ActiveRecord seperti DataMapper. Arel diinspirasi oleh SQLAlchemy yang ditulis dalam bahasa Python serta LINQ. Karen Arel berangkat dari ide bahwa "setiap query merupakan named_scope", Arel sering disebut juga sebagai pengganti dari named_scope.