Kebiasaan Oprek yang Buruk dan Berantakan, Jangan ditularin ke Coding ya

Posted: December 8, 2007 in ノート, CAMPUR CAMPUR, Catatan Tercecer, Rails, RESTful, RUBY, Ruby on Rails, Technology

Kata “Oprek” diatas sebetulnya tadinya di kepala saya berwujud “NgeHack” …. tapi saya masih sadar diri , ibarat anak kucing yang dari lumpur terseok-seok trus dipungut dan dimandikan oleh Simpanse Code OntaGila 303 walau tetap saja anak kucingnya sering masih kotor dan berantakan. ih.

duh … gini gini … bicara pake codes aja dah kalo ribet -_- sori

Last login: Sat Dec  8 12:54:16 on ttys000
m:~ arie$ gem search rak -r

*** REMOTE GEMS ***

Updating metadata for 15 gems from http://gems.rubyforge.org
...............
complete
airake (0.2.13, 0.2.12, 0.2.11, 0.2.10, 0.2.9, 0.2.8, 0.2.7, 0.2.6, 0.2.5, 0.2.4, 0.2.3, 0.2.2, 0.2.1, 0.1.12, 0.1.11, 0.1.10, 0.1.9, 0.1.8, 0.1.7, 0.1.6, 0.1.5, 0.1.4, 0.1.3)
autorake (0.5.1, 0.5, 0.4, 0.1)
bunraku (3.0.0)
gem_raker (0.1.1, 0.1.0)
rak (0.8.0)
rake (0.7.3, 0.7.2, 0.7.1, 0.7.0, 0.6.2, 0.6.0, 0.5.4, 0.5.3, 0.5.0, 0.4.15, 0.4.14, 0.4.13, 0.4.12, 0.4.11, 0.4.10, 0.4.9, 0.4.8, 0.4.7, 0.4.6, 0.4.4, 0.4.3, 0.4.2, 0.4.0, 0.3.2)
rake-command-completion (0.0.1)
rakepp (0.0.1)
m:~ arie$ sudo gem install rak 
Password:
Updating metadata for 9 gems from http://gems.rubyforge.org
.........
complete
Successfully installed rak-0.8.0
1 gem installed
Installing ri documentation for rak-0.8.0...
Installing RDoc documentation for rak-0.8.0...
m:~ arie$ 

nah pamer…. trus pada nyentil …. duuh nggak nyangka ya awk di ruby namanya jadi rak ;-)

bicara pake coding di lanjut:

m:aka_smsblast arie$ which rak
/usr/bin/rak
m:aka_smsblast arie$ rak -v "#|^\s+$" config/routes.rb
   1|ActionController::Routing::Routes.draw do |map|
   9|  map.root :controller => 'users', :action => 'new'
  11|  map.login 'login',   :controller => 'sessions', :action => 'new'
  12|  map.logout 'logout', :controller => 'sessions', :action => 'destroy'
  13|  map.signup 'signup', :controller => 'users',    :action => 'new'
  15|  map.resources :users, :has_one => :balance
  16|  map.resource  :session
  18|  map.namespace(:admin) do |admin|
  19|    admin.resources :companies, :has_many => :users
  20|  end
  32|  map.connect ':controller/service.wsdl', :action => 'wsdl'
  35|  map.connect ':controller/:action/:id.:format'
  36|  map.connect ':controller/:action/:id'
  37|end
m:aka_smsblast arie$ 

=)) Mana itu si OntaGila yang selalu malu disebut-sebut =)) Guruuuu …. anakmu telah nemu rak dengan suka cita guruuu, aku jatuh bangun jatuh bangun masih belajar regex guruuu ….

Jawab si Guru seksi : “tetep aja lu mah jauh, sana belajar lagi! masih bodoh kelakuan nonton melulu!”

Ok Ok Ok… sori sori terlalu banyak noise yang ingin cubit si OntaGila. kita lanjut lagi ngomongin soal kebiasaan buruk dan berantakan yang saya maksud di judul.

Perhatikan di routes.rb tersebut padahal sudah ada users tapi itu users untuk users biasa, bukan admin. Nah sementara si programmer (yang merangkap jadi creative director juga creative designer sambil cuap cuap tanpa pakai nasi hik) menginginkan
admin punya kekuatan untuk …. aduh, bahasanya terlalu StarWars, kamsutnya admin diberi hak akses untuk mendaftarkan registrasi company, juga untuk membuatkan secara otomatis user termasuk ngedit dan nghapusnya.

Nah dari kebutuhan requirement diatas, janganlah ragu-ragu dan berpikiran kotor, lho kan bisa kalau pura-puranya login jadi user :( trus ngapa ngapain disitu?! Ingat! berpikir secara resource! Itulah mantranya!

si admin punya akses kelainan sendiri (siul-siul, baca “kelainan” = “lain dari yang lain”), jadi dia bisa akses ini:

m:aka_smsblast arie$ rake routes|rak "admin_company_user"|rak -v "formatted"
   1|  58|              admin_company_users GET    /admin/companies/:company_id/users                  {:controller=>"admin/users", :action=>"index"}
   3|  62|           new_admin_company_user GET    /admin/companies/:company_id/users/new              {:controller=>"admin/users", :action=>"new"}
   5|  64|          edit_admin_company_user GET    /admin/companies/:company_id/users/:id/edit         {:controller=>"admin/users", :action=>"edit"}
   7|  66|               admin_company_user GET    /admin/companies/:company_id/users/:id              {:controller=>"admin/users", :action=>"show"}

jadi jangan kotori yang dibawah ini dengan tangan tangan jahil bermuka merah

m:aka_smsblast arie$ rake routes|rak "user"|rak -v "admin|format|balance"
   1|   2|                             root        /                                                   {:controller=>"users", :action=>"new"}
   2|   5|                           signup        /signup                                             {:controller=>"users", :action=>"new"}
   3|   6|                            users GET    /users                                              {:controller=>"users", :action=>"index"}
   5|   8|                                  POST   /users                                              {:controller=>"users", :action=>"create"}
   7|  10|                         new_user GET    /users/new                                          {:controller=>"users", :action=>"new"}
   9|  12|                        edit_user GET    /users/:id/edit                                     {:controller=>"users", :action=>"edit"}
  11|  14|                             user GET    /users/:id                                          {:controller=>"users", :action=>"show"}
  13|  16|                                  PUT    /users/:id                                          {:controller=>"users", :action=>"update"}
  15|  18|                                  DELETE /users/:id                                          {:controller=>"users", :action=>"destroy"}
m:aka_smsblast arie$ 

sori yang bahasa manusia pasti saya gak akan sempat selesaikan tulisannya , bisa-bisa ngeblog 1 abad 1 kali. Jadi pake codes saja langsung. kaburrr mo tidur lagi – tidur is the best.

tinggalkan feedback konstruktif atau lebih baik diam

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s