res = false
SystemPicture.transaction do
if res = self.save
- if res = PictureIO.system_picture_io.put(imager.binary, self.filename)
- res = true
- else
- self.errors.add :base, 'system picture io does not work'
+ begin
+ res = PictureIO.system_picture_io.put(imager.binary, self.filename)
+ rescue PictureIO::Error
+ res = false
+ self.errors.add :base, I18n.t('picture_io.error')
raise ActiveRecord::Rollback
end
end