mirror of
https://0xacab.org/sutty/sutty
synced 2024-11-16 19:36:22 +00:00
obtener el archivo subido
This commit is contained in:
parent
37deb36178
commit
03d9913f58
1 changed files with 11 additions and 7 deletions
|
@ -66,18 +66,19 @@ class MetadataFile < MetadataTemplate
|
||||||
# XXX: La última opción provoca archivos duplicados, pero es lo mejor
|
# XXX: La última opción provoca archivos duplicados, pero es lo mejor
|
||||||
# que tenemos hasta que resolvamos https://0xacab.org/sutty/sutty/-/issues/213
|
# que tenemos hasta que resolvamos https://0xacab.org/sutty/sutty/-/issues/213
|
||||||
#
|
#
|
||||||
# @return [ActiveStorage::Attachment]
|
# @todo encontrar una forma de obtener el attachment sin tener que
|
||||||
|
# recurrir al último subido.
|
||||||
|
#
|
||||||
|
# @return [ActiveStorage::Attachment,nil]
|
||||||
def static_file
|
def static_file
|
||||||
return unless path?
|
|
||||||
|
|
||||||
@static_file ||=
|
@static_file ||=
|
||||||
case value['path']
|
case value['path']
|
||||||
when ActionDispatch::Http::UploadedFile
|
when ActionDispatch::Http::UploadedFile
|
||||||
site.static_files.last if site.static_files.attach(value['path'])
|
site.static_files.last if site.static_files.attach(value['path'])
|
||||||
when String
|
when String
|
||||||
if (blob = ActiveStorage::Blob.where(key: key_from_path).pluck(:id).first)
|
if (blob_id = ActiveStorage::Blob.where(key: key_from_path).pluck(:id).first)
|
||||||
site.static_files.find_by(blob_id: blob)
|
site.static_files.find_by(blob_id: blob_id)
|
||||||
elsif site.static_files.attach(io: path.open, filename: path.basename)
|
elsif path? && pathname.exist? && site.static_files.attach(io: pathname.open, filename: pathname.basename)
|
||||||
site.static_files.last
|
site.static_files.last
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -92,8 +93,11 @@ class MetadataFile < MetadataTemplate
|
||||||
@pathname ||= Pathname.new(File.join(site.path, value['path']))
|
@pathname ||= Pathname.new(File.join(site.path, value['path']))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Obtiene la key del attachment a partir de la ruta
|
||||||
|
#
|
||||||
|
# @return [String]
|
||||||
def key_from_path
|
def key_from_path
|
||||||
path.dirname.basename.to_s
|
pathname.dirname.basename.to_s
|
||||||
end
|
end
|
||||||
|
|
||||||
def path?
|
def path?
|
||||||
|
|
Loading…
Reference in a new issue