Tuesday, September 9, 2008

attachment_fu, Rails 2.1 and before_thumbnail_saved

I was working on before_thumbnail_saved callback in Rails 2.1 and it seems it has changed! It didn't work with me anymore. At least my old code didn't.

Apparently, you only pass the thumbnail into the loop.

Read this blog post for details.

Friday, September 5, 2008

Rake: Update or create images generated by attachment_fu

Did you upload a bunch of images and find out that the new layout needs a new size of the photos, and you didn't specify this in the has_attachment line of your model?

This happened to me, and I wanted an easy to way update all images in the database. I didn't test this with millions of records or anything, but if you want to fix this up please leave a comment.

Notes:
  • To use, simply edit has_attachment line with the new thumbnail sizes you want.
  • IdeaImage is the model that I want to update
  • parentless is a named_scope that gets only the IdeaImages whose parent_id's are null.

namespace :images do
desc "Updates all the thumbnails of idea_images based on the thumbnails hash in the model"
task(:update_idea_images => :environment) do
IdeaImage.parentless.each do |i|
#destroy the thumbnails first
i.thumbnails.each { |thumbnail| thumbnail.destroy } if i.thumbnailable?
#then recreate the thumbnails
i.attachment_options[:thumbnails].each { |suffix, size| i.create_or_update_thumbnail(i.create_temp_file, suffix, *size) }
end
end
end

Friday, August 1, 2008

Installing the latest gVim and Vim in Ubuntu Hardy Heron

I recently got a new computer and reinstalled Ubuntu and found out that my old post on how to install the latest gVim in Hardy Heron didn't work anymore. This is what I did to install the latest one. Thanks godlygeek!


sudo apt-get build-dep vim
sudo apt-get install build-essential devscripts fakeroot dpkg-dev
apt-get source vim
cd vim-7.1
(cd upstream/patches; python get_patches.py)
dch -v 1:7.1-138+1ubuntu4~$(whoami)1 "Updated with patches through $(ls upstream/patches | grep -v '\.py$' | tail -n 1)"
sed -i -e '/gvimtutor/d' -e "1idebian/tmp/usr/bin/gvimtutor\t\t\t\tusr/bin/" debian/vim-runtime.install.in
dpkg-buildpackage -rfakeroot -uc -b
Having trouble viewing that? See the pastie.

Now, you're supposed to have .deb files in the parent directory. I ran into a problem though in the last line. Here are the last few lines of output after running dpkg-buildpackage -rfakeroot -uc -b: http://pastie.org/246789

To fix this, godlygeek asked me to edit vim-7.1/debian/vim-runtime.install.in and remove the line with gvimtutor in it. See my vim-runtime.install.in file.

So I edited it (gedit
vim-7.1/debian/vim-runtime.install.in), then ran the last line (
dpkg-buildpackage -rfakeroot -uc -b
in vim-7.1 directory again.

I got the compiled *.deb files in the parent directory!

To install them (note that your files will look different):

sudo dpkg -i vim-full_7.1-138+1ubuntu4~ramon1_all.deb
sudo dpkg -i vim-gui-common_7.1-138+1ubuntu4~ramon1_all.deb
sudo dpkg -i vim-runtime_7.1-138+1ubuntu4~ramon1_all.deb
sudo dpkg -i vim-gnome_7.1-138+1ubuntu4~ramon1_i386.deb

Sunday, July 27, 2008

gVim and placing scripts

It seems that everytime I install gVim in Ubuntu the place to put scripts is different. If anyone can shed some light on this please let me know. The last time I installed it, I put the scripts in /usr/share/vim/vimcurrent

Wednesday, June 11, 2008

config/initializers/new_rails_defaults.rb and problems with Rails 2.0.2

I was trying to debug a Rails 2.0.2 app that didn't work on HostingRails. I froze the gems in the vendor folder and stuff, so that couldn't be the problem. When I looked at the cPanel error log, I saw this:


[Wed Jun 11 08:34:18 2008] [notice] mod_fcgid: process /home/royalpa/public_html/dispatch.fcgi(20133) exit(communication error), terminated by calling exit(), return code: 1
from /home/royalpa/site_files/royalpalm/config/initializers/new_rails_defaults.rb:5


I never saw new_rails_defaults.rb before so I looked at it and looked at my older Rails apps. It wasn't there. I suppose it's there because when you do "rails appname" in hostingrails, it makes a Rails 2.1 skeleton. It thinks you're going to make a 2.1 app! Delete it and it should work.

Friday, May 23, 2008

Ruby, Rails, Mongrel, Monit, Nginx on Ubuntu 7.10 Gutsy

Ubuntu 7.10 on SilverRack

I used to have a tutorial here, and I had gotten the files from an existing server. I made it for myself. Since ezra posted making sure I wasn't violating any copyrights, I've decided to take it down, since I can't prove where those files were taken from.

Sunday, May 11, 2008

Rails.vim breaks in Hardy Heron

Well, Vim breaks when using rails.vim in Ubuntu 8.04 Hardy Heron. Took me a few days to decide to actually try and fix it and not downgrade back down to Gutsy.

This post explains what you can do to fix this error. We'll upgrade to the latest Vim. Because the error is caused by an old version of Vim and rails.vim, you need to update it. You can read about it in this thread. That was my starting point to find the fix.

1) Download and install the latest version of Vim

svn co https://vim.svn.sourceforge.net/svnroot/vim/vim7
cd vim7
./configure --with-features=huge
sudo make
sudo make install

2) Install all the plugins and scripts again
3) If you use haml, when I downloaded the latest version today of the haml syntax script, I had some illegal carriage return errors. I had to open haml.vim then save it via

:w ++ff=unix