Refactor 500 file generation for future extension (#5105)

This commit is contained in:
nullkal 2017-09-26 18:55:33 +09:00 committed by Eugen Rochko
parent 9d53a38a44
commit b32a1d5754
1 changed files with 11 additions and 7 deletions

View File

@ -1,18 +1,22 @@
# frozen_string_literal: true
namespace :assets do
desc 'Generate 500.html'
task :generate_500 do
def render_static_page(action, dest:, **opts)
I18n.with_locale(ENV['DEFAULT_LOCALE'] || I18n.default_locale) do
html = ApplicationController.render('errors/500', layout: 'error')
File.write(Rails.root.join('public', '500.html'), html)
html = ApplicationController.render(action, opts)
File.write(dest, html)
end
end
namespace :assets do
desc 'Generate static pages'
task :generate_static_pages do
render_static_page 'errors/500', layout: 'error', dest: Rails.root.join('public', '500.html')
end
end
if Rake::Task.task_defined?('assets:precompile')
Rake::Task['assets:precompile'].enhance do
Webpacker::Manifest.load
Rake::Task['assets:generate_500'].invoke
Rake::Task['assets:generate_static_pages'].invoke
end
end