## model
class Asset < ActiveRecord::Base
has_attachment :storage => :file_system,
:thumbnails => { :polaroid => '193x193', :fullscreen => '800>', :large => "300>", :thumb => '120>', :tiny => '50>' },
:max_size => 5.megabytes,
:path_prefix => "public/image_assets"
validates_as_attachment
def regenerate_thumbnail
ActiveRecord::Base.record_timestamps = false
begin
self.temp_data = temp_data
save!
ensure
ActiveRecord::Base.record_timestamps = true
end
end
end
## migration
class RegenerateThumbs < ActiveRecord::Migration
def self.up
Asset.find(:all, :conditions => 'parent_id is null').each &:regenerate_thumbnail
end
def self.down
# poo
end
end