lib/uploader/asset.rb in rails-uploader-0.4.5 vs lib/uploader/asset.rb in rails-uploader-0.5.0

- old
+ new

@@ -49,10 +49,25 @@ # end # end # def fileupload_create(params, _request = nil) self[Uploader.guid_column] = params[:guid] - update_attributes(self.class.fileupload_assetable_options(params)) + return false unless update_attributes(self.class.fileupload_assetable_options(params)) + + if fileupload_destroy_other_on_singular?(params) + self.class.fileupload_find_assets(params).where.not(id: id).destroy_all + end + true + end + + def fileupload_destroy_other_on_singular?(params) + return unless params[:singular].to_s.downcase == 'true' + return true if params[:guid].present? + + [ + params["#{Uploader.assetable_column}_id"], + params["#{Uploader.assetable_column}_type"] + ].all?(&:present?) end # Destroy asset # Usage (cancan example): #