У меня есть два метода, которые делают почти одно и то же, но с небольшой разницей в передаче параметров:
def generate_file(filename)
draw
FileUtils.mkdir_p 'tmp/pdf'
@pdf.render_file "#{Rails.root}/tmp/pdf/#{filename}"
end
def generate_pdf(report, version)
draw
path = "tmp/pdf/reports/#{report.reference}"
FileUtils.mkdir_p(path)
@pdf.render_file "#{Rails.root}/#{path}/#{version}"
end
Я хочу реорганизовать его и использовать только метод generate_file
при вызовефункция, которая генерирует PDF-файлы.Должен ли я пройти дополнительный params
(version = nil
) и проверить, определен он или нет?
Как это:
def generate_file(filname, version = nil, report = nil)
draw
if report && version
path = "tmp/pdf/reports/#{report.reference}"
FileUtils.mkdir_p(path)
@pdf.render_file "#{Rails.root}/#{path}/#{version}"
else
FileUtils.mkdir_p 'tmp/pdf'
@pdf.render_file "#{Rails.root}/tmp/pdf/#{filename}"
end
end