Archive for the 'Ruby Programming' Category

Feb 20 2008

My Rubygems List

Akhirnya setelah tiga hari nanya ma om google dan akangaziz, terinstallah sudah gem Rmagick yang selama ini aku coba install tapi gagal melulu :(( . Kuncinya cuma satu, install aja semua paket yang berbau magick linux yang bersangkutan (kalo di ubuntu coba search yang magick dengan command apt-cache search magick, karena aku sendiri juga gak ngerti paket mana yang memang bener2 dibutuhkan untuk install gem rmagick). Dengan begitu, bertambahlah 1 gem di PCku dan tentu saja akan terus bertambah ;)) . Berikut adalah daftar gem-nya :

root@ditto:/home/ditto# gem list

*** LOCAL GEMS ***

actionmailer (1.3.3)
actionpack (1.13.3)
actionwebservice (1.2.3)
activerecord (1.15.3)
activesupport (1.4.2)
archive-tar-external (1.2.1)
archive-tar-minitar (0.5.1)
cgi_multipart_eof_fix (2.5.0)
daemons (1.0.9)
fastthread (1.0.1)
gem_plugin (0.2.3)
hoe (1.5.0)
mini_magick (1.2.3)
mongrel (1.1.3)
rails (1.2.3)
rake (0.8.1)
rmagick (2.2.2)
rubyforge (0.4.4)
root@ditto:/home/ditto#

One response so far

Feb 19 2008

Gagal Upgrade Rubygems, piye iki?

Temans,

Hari ini aku udah 3 hari pakai kubuntu. Setelah install ruby beserta paket2 pendukungnya, aku baru sadar kalau masih menggunakan rubygems versi 0.9.4. Akhirnya aku coba upgrade dengan “gem update –system“, hasilnya keluar error di konsole pas aku jalankan “gem” errornya kayak gini “/usr/bin/gem:23: uninitialized constant Gem::GemRunner (NameError)“. Nah setelah tanya-tanya ma om google, akhirnya ketemu deh jawabannya. Ringkasnya, buka “/usr/bin/gem” kemudian tambahkan “require ‘rubygems/gem_runner’” setelah script “require ‘rubygems’“. Setelah itu, jalankan “gem -v” maka akan muncul versi rubygem yang terbaru yang menandakan rubygem telah berhasil diupgrade. B-)

3 responses so far

Feb 09 2008

Third Online.rb

Pada online.rb yang ke tiga ini, kami melanjutkan project yang sebelumnya. Kalo pertemuan minggu lalu cuma posting berita tentu saja berbeda dengan yang semalam, kami menambahkan untuk menampilkan data yang telah di entrykan dengan menggunakan paging. Juga ada penambahan live-search (pake ajax) kalo mas aziz bilang. Dengan adanya tambahan fasilitas ini, tentu saja kita perlu mengubah beberapa script yang pernah kita buat sebelumnya. Yang pertama adalah penambahan method pada controller berita, dengan menggunakan generate ulang controller berita.

[root@ditto berita]# ./script/generate controller berita index view

exists app/controllers/
exists app/helpers/
exists app/views/berita
exists test/functional/
overwrite app/controllers/berita_controller.rb? [Ynaqd] n
skip app/controllers/berita_controller.rb
identical test/functional/berita_controller_test.rb
identical app/helpers/berita_helper.rb
identical app/views/berita/index.rhtml
create app/views/berita/view.rhtml
[root@ditto berita]#

Command generate diatas diperlukan untuk create file view.rhtml dan penambahan method pada berita_controller.rb yang perubahannya bisa kita lihat seperti di bawah :

class BeritaController < ApplicationController

def index
redirect_to :action => “new”
end

def new
end

def view
condition = “judul LIKE ‘%#{params[:query]}%’”
@total = Berita.count(:conditions => condition)
@pages, @record = paginate(:beritas, :conditions => condition, :per_page => 10)
end

def proses_insert
if request.post?
@masuk=Berita.new(params[:masuk])
if @masuk.save
flash[:notice] = “udah masuk”
redirect_to :action => “new”
else
flash[:notice] = “nggak masuk”
render :action => ‘new’
end
end
end

end

Berikut beberapa penjelasan dari script di atas :

  • condition = “judul LIKE ‘%#{params[:query]}%’”
    condition adalah sebuah variabel yang menunjukkan kondisi yang dijalankan ketika query select berjalan (jika di mysql kita mengenalnya sebagai => where judul like ‘%params[:query]%’)
  • @total = Berita.count(:conditions => condition)
    @total adalah jumlah row dari hasil query
  • @pages, @record = paginate(:beritas, :conditions => condition, :per_page => 10)
    @record berfungsi untuk menghitung jumlah row hasil query dengan batas maksimal 10 record, sedangkan @pages diperoleh dari jumlah seluruh record setelah dibagi dengan 10 dan kemudian di tambah 1

Continue Reading »

One response so far

Feb 04 2008

Simple Login With Rails1.2.3

Setelah seharian googling, akhirnya aku dapat sedikit pencerahan mengenai sript login pake rails versi 1.2.3 meskipun masih tanpa enkripsi. Secara umum seperti berikut :

Pertama adalah Login Controller

class LoginController < ApplicationController

def index
end

def login
end

def cek_login

if request.post?
if @session[”user”] = User.authenticate(params[:login][:name],params[:login][:password])
flash[:notice] = “Login Sukses!”
redirect_to :action => “index”
else
if params[:login][:name] == “”
flash[:notice] = “Username belum diisi.”
elsif params[:login][:password] == “”
flash[:notice] = “Password belum diisi”
else
flash[:notice] = “Username atau password salah”
end
redirect_to :action => “login”
end
end
end

end

Continue Reading »

2 responses so far

Feb 02 2008

Second Online.rb

Hmm… :-? pertemuan semalem unik banget, karena ada saat-saat di mana kami dari tim online di haruskan buat 1 project untuk posting berita. Nah, yang jadi tukang ketik semalem orangnya juga unik dari Jogja lagi ;)) , kadang-kadang lebih sering keluar dari jalur tapi malah menyegarkan suasana :D dan tentu saja kerja keras kami nggak sia-sia. Dalam waktu 30 menit project rails versi 1.2.3 untuk buat posting berita aja udah kelar (itu belum dikurangi 20 menit yang di pake untuk ‘guyon ngalor-ngidulnya’) :-s .

Langsung aja dah aku catat di sini, tapi ingat untuk kali ini kita pake rails versi 1.2.3.

[root@otid htdocs]# rails berita
create
create app/controllers
create app/helpers
create app/models
create app/views/layouts
create config/environments
create components
create db
create doc
create lib
create lib/tasks
create log
create public/images
create public/javascripts
create public/stylesheets
create script/performance
create script/process
create test/fixtures
create test/functional
create test/integration
create test/mocks/development
create test/mocks/test
create test/unit
create vendor
create vendor/plugins
create tmp/sessions
create tmp/sockets
create tmp/cache
create tmp/pids
create Rakefile
create README
create app/controllers/application.rb
create app/helpers/application_helper.rb
create test/test_helper.rb
create config/database.yml
create config/routes.rb
create public/.htaccess
create config/boot.rb
create config/environment.rb
create config/environments/production.rb
create config/environments/development.rb
create config/environments/test.rb
Continue Reading »

3 responses so far

Jan 30 2008

Depot Project With Rails 2.0.2 (1)

Mumpung masih hangat nih, aku pengen bikin dokumentasi untuk depot project dengan menggunakan rails versi 2.0.2. Pastikan semua paket pendukung telah terinstall. Jika semua sudah siap, langsung saja kita mulai projectnya. Sekarang kita buat projectnya dulu dengan menggunakan perintah:

[root@otid htdocs]# rails -d mysql depot
create
create app/controllers
create app/helpers
create app/models
create app/views/layouts
create config/environments
create config/initializers
create db
create doc
create lib
create lib/tasks
create log
create public/images
create public/javascripts
create public/stylesheets
create script/performance
create script/process
Continue Reading »

2 responses so far

Jan 26 2008

First Online.rb

Ah, dah lama nggak posting nih. Berhubung semalam ada acara kumpul2 tim online yang bahas masalah howto-nya RubyOnRails(RoR) yang juga telah dihadiri seluruh tim dan mengingat banyaknya hal yang harus dicatat dari pertemuan semalam, jadi kepikiran nih untuk mendokumentasikannya ke sini. Oh, ya semalam yang jadi masternya di online.rb adalah Aziz Sensei ^:)^ profil yang lebih lengkap beliau ada di http://www.akangaziz.com/ :thumbs . Daripada ntar lupa lebih baik aku mulai aja.

Pertama kali yang dijelasin adalah beberapa perbedaan php-fusebox dengan ruby-rails, agak lupa2 inget juga sih ;)) . Seingatku sih kata beliau, klo pake fusebox kita bisa buat program sesuai prosedur kita sendiri sedangkan pada rails malah sebaliknya, kita yang harus mengikuti prosedur2 yang ada di rails. Ada contoh kasus misalnya jika di php kita mau nampilkan suatu variabel dimana variabel tersebut belum didefinisikan, tidak akan muncul error. Hal sebaliknya akan terjadi jika kita menggunakan rails. Berikutnya di rails sensitifitasnya sangat tinggi, kita juga harus paham kapan kita menggunakan karakter “@” dengan benar.

Continue Reading »

3 responses so far

Jan 22 2008

How to: Install RubyOnRails in Fedora Core 7

Pada kesempatan kali ini, aku akan coba jelasin tentang cara instalasi RubyOnRails pada Fedora Core 7.

Install Ruby

Pertama kali yang kita perlukan adalah install paket yang berhubungan dengan ruby.

Jika kita telah memilih paket Ruby selama proses instalasi FC7, versi yang terinstal adalah versi yang lama. Versi lama tersebut misalnya versi 1.8.6-2 sedangkan pada pencarian dengan yum (yum search) sudah menunjukkan update hingga versi 1.8.6.36-3. Oleh karena itu lebih mudah jika kita install Ruby secara manual (seperti petunjuk di bawah) setelah instalasi FC7 selesai, jika yang kita inginkan adalah versi terakhir dari software tersebut.

Jika kita baru saja menyelesaikan instalasi FC7 atau sekarang adalah pertama kali kita menjalankan proses yum pada sistem, kita perlu menjalankan set up yum :

$ yum grouplist

Kemudian kita memerlukan akses sebagai root :

$ su -

Install semua paket yang berhubungan dengan Ruby :

# yum install ruby ruby-libs ruby-devel ruby-irb ruby-ri ruby-rdoc ruby-docs

Tergantung dari kebutuhan aplikasi, kita dapat menambahkan paket-paket berikut :

# yum install eruby eruby-libs eruby-devel bsf ruby-tcltk

Continue Reading »

No responses yet