class Asset include MongoMapper::Document include Grip::HasAttachment key :filename, String, :required => true key :description, String has_grid_attachment :data, :required => true before_validation :setup_filename protected def setup_filename if self.filename.blank? && self.data self.filename = self.data.file_name end end end