Guest User

Untitled

a guest
Sep 26th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.32 KB | None | 0 0
  1. Rails.application.config.assets.paths << Rails.root.join('app', 'assets', 'html')
  2. Rails.application.config.assets.precompile << '*.html'
  3. Rails.application.config.assets.register_mime_type('text/html', '.html')
  4.  
  5. Rake::Task['assets:precompile'].enhance do
  6. Rake::Task['my_app:create_non_digest_assets'].invoke
  7. end
  8.  
  9. namespace(:my_app) do
  10. logger = Logger.new($stderr)
  11.  
  12. task(create_non_digest_assets: :'assets:environment') do
  13. manifest_file = File.new(Dir.glob(File.join(Rails.root, 'public/**/assets/.sprockets-manifest-*.json')).first)
  14. asset_dir = File.dirname(manifest_file)
  15. whitelisted_assets = []
  16.  
  17. whitelisted_assets.concat(Rails.config.non_digest_assets) rescue nil
  18.  
  19. JSON.load(manifest_file)['assets'].each do |asset, digested_asset|
  20. if whitelisted_assets.any? { |pattern| File.fnmatch?(pattern, asset) }
  21. logger.info("(My APP) creating #{asset} symlink for #{digested_asset}")
  22.  
  23. FileUtils.ln_s(
  24. File.join(asset_dir, digested_asset),
  25. File.join(asset_dir, asset),
  26. { force: true }
  27. )
  28. end
  29. end
  30. end
  31. end
  32.  
  33. Rails.application.config.non_digest_assets = %w(*.html)
  34.  
  35. Sprockets.register_preprocessor 'text/html', -> (asset) do
  36. asset[:data] = ::ApplicationController.render({
  37. inline: asset[:data],
  38. layout: 'layouts/clark_u/application1'
  39. })
  40. end
Add Comment
Please, Sign In to add comment