5
0
Fork 0
mirror of https://0xacab.org/sutty/sutty synced 2024-06-30 19:46:08 +00:00
panel/app/controllers/active_storage/direct_uploads_controller_decorator.rb
f eb7d0679bb normalizar strings sin romperlas
en castellano no nos afectó pero en árabe rompe el significado
2022-04-28 10:34:57 -03:00

30 lines
960 B
Ruby

# frozen_string_literal: true
module ActiveStorage
# Modifica la creación de un blob antes de subir el archivo para que
# incluya el JekyllService adecuado.
module DirectUploadsControllerDecorator
extend ActiveSupport::Concern
included do
def create
blob = ActiveStorage::Blob.create_before_direct_upload!(service_name: session[:service_name], **blob_args)
render json: direct_upload_json(blob)
end
private
# Normalizar los caracteres unicode en los nombres de archivos
# para que puedan propagarse correctamente a través de todo el
# stack.
def blob_args
params.require(:blob).permit(:filename, :byte_size, :checksum, :content_type, metadata: {}).to_h.symbolize_keys.tap do |ba|
ba[:filename] = ba[:filename].unicode_normalize
end
end
end
end
end
ActiveStorage::DirectUploadsController.include ActiveStorage::DirectUploadsControllerDecorator