|
|
|
@ -11,11 +11,7 @@ module Templates
|
|
|
|
|
|
|
|
|
|
|
|
def call(template, params, extract_fields: false)
|
|
|
|
def call(template, params, extract_fields: false)
|
|
|
|
Array.wrap(params[:files].presence || params[:file]).map do |file|
|
|
|
|
Array.wrap(params[:files].presence || params[:file]).map do |file|
|
|
|
|
if file.content_type.exclude?('image') && file.content_type != PDF_CONTENT_TYPE
|
|
|
|
handle_file_types(template, file, params, extract_fields:)
|
|
|
|
next handle_file_types(template, file, params)
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
handle_pdf_or_image(template, file, file.read, params, extract_fields:)
|
|
|
|
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
@ -57,7 +53,11 @@ module Templates
|
|
|
|
raise PdfEncrypted
|
|
|
|
raise PdfEncrypted
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
def handle_file_types(_template, file, _params)
|
|
|
|
def handle_file_types(template, file, params, extract_fields:)
|
|
|
|
|
|
|
|
if file.content_type.include?('image') || file.content_type == PDF_CONTENT_TYPE
|
|
|
|
|
|
|
|
return handle_pdf_or_image(template, file, file.read, params, extract_fields:)
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
raise InvalidFileType, file.content_type
|
|
|
|
raise InvalidFileType, file.content_type
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|