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