demarches-normaliennes/app/lib/active_storage/downloadable_file.rb
Christophe Robillard 858bbde2d6 remove dead code
2021-03-16 15:13:17 +01:00

44 lines
1.3 KiB
Ruby

class ActiveStorage::DownloadableFile
def self.create_list_from_dossier(dossier)
pjs = PiecesJustificativesService.liste_pieces_justificatives(dossier)
files = pjs.map do |piece_justificative|
[
piece_justificative,
self.timestamped_filename(piece_justificative)
]
end
files << [dossier.pdf_export_for_instructeur, self.timestamped_filename(dossier.pdf_export_for_instructeur)]
files
end
private
def self.timestamped_filename(attachment)
# we pad the original file name with a timestamp
# and a short id in order to help identify multiple versions and avoid name collisions
folder = self.folder(attachment)
extension = File.extname(attachment.filename.to_s)
basename = File.basename(attachment.filename.to_s, extension)
timestamp = attachment.created_at.strftime("%d-%m-%Y-%H-%M")
id = attachment.id % 10000
"#{folder}/#{basename}-#{timestamp}-#{id}#{extension}"
end
def self.folder(attachment)
case attachment.record_type
when 'Dossier'
'dossier'
when 'DossierOperationLog', 'BillSignature'
'horodatage'
when 'Commentaire'
'messagerie'
else
'pieces_justificatives'
end
end
def using_local_backend?
[:local, :local_test, :test].include?(Rails.application.config.active_storage.service)
end
end