06 Oct 2010
I recently needed to decode/encode a string which will be used as text on one of the sites I'm syndicating to.
The site escapes all html entities and tags. And since I'm posting to the site using Mechanize, I need to format the text so that it would come out clean and nice.
HTMLEntities. I never really bothered what the HTMLEntities gem was. Never even wondered why it was a dependency of some gems/plugins I regularly use. Now I know. :D
Installing ruby in ubuntu with RVM
11 Oct 2010
gem, ubuntu, rvm
I needed to use different ruby versions in one box so I looked for a good way to manage ruby versions. One google search and I've found what I'm looking for, RVM. So the first stop is Railscasts. Episode 200 shows how to install Rails 3 using RVM.
After some experimentation with the help of the screencast and the rvm documentation, I was able to make everything working after encountering errors with zlib and readlines. So as a general rule of thumb, install all available package that comes with rvm. Use the following command
rvm package install ree_dependencies
to install zlib, ncurses, readline, openssl and iconv. Then you can install any ruby version with the following command
rvm install <ruby version> -C --with-readline-dir=$rvm_path/usr,--with-iconv-dir=$rvm_path/usr,--with-zlib-dir=$rvm_path/usr,--with-openssl-dir=$rvm_path/usr
By the way, I'm using Ubuntu 10.10.
Setting primary key in Rails 2.2.2
26 Oct 2010
primary_key, rails 222
This is a super late discovery. I've been refactoring some code of a previous developer in a Rails 2.2.2 project. I needed to eager load some associations as well to avoid n+1 queries but I don't know how to do that if the primary key is not ID. After searching through google, I found a post somewhere (sorry, can't remember the link. But I'm sure it's in stackoverflow). All you need to do is set the primary key for that model by adding
Class Foo > ActiveRecord::Base set_primary_key :pkey has_many :bars, :foreign_key => :fkey end
Then you can use the normal belongs_to
Class Bar > ActiveRecord::Base belongs_to :foo, :foreign_key => :fkey, :class_name => 'Foo' end