Sha256: 048272cfe35ae52c36c5907af89dda1bb5e1543f8e91a7d5e74ef5a48856bb4f
Contents?: true
Size: 1.93 KB
Versions: 20
Compression:
Stored size: 1.93 KB
Contents
# Used to create non-digested version of precompiled assets # # See: # https://bibwild.wordpress.com/2014/10/02/non-digested-asset-names-in-rails-4-your-options/ # https://github.com/team-umlaut/umlaut/blob/master/lib/tasks/umlaut_asset_compile.rake # Every time assets:precompile is called, trigger mnoe:create_non_digest_assets afterwards. Rake::Task['assets:precompile'].enhance do Rake::Task['mnoe:create_non_digest_assets'].invoke end namespace :mnoe do # TODO: extract to a config of the App/Engine non_digest_named_assets = ['mno_enterprise/config.js'] # This seems to be basically how ordinary asset precompile # is logging, ugh. logger = Logger.new($stderr) # Based on the rake task from umlaut. # Simplified since we use filename and not glob. task create_non_digest_assets: :"assets:environment" do # We cannot use Rails.application.assets_manifest as it's initalized before the precompile task runs manifest_path = Dir.glob(File.join(Rails.root, 'public/assets/.sprockets-manifest-*.json')).first manifest_data = JSON.load(File.new(manifest_path)) assets = manifest_data['assets'] # Original code: # if Umlaut::Engine.config.non_digest_named_assets.any? {|testpath| logical_pathname.fnmatch?(testpath, File::FNM_PATHNAME) } non_digest_named_assets.each do |logical_path| digested_path = assets[logical_path] full_digested_path = File.join(Rails.root, 'public/assets', digested_path) full_nondigested_path = File.join(Rails.root, 'public/assets', logical_path) logger.info "(MNOE) Copying #{digested_path} to #{full_nondigested_path}" # Use FileUtils.copy_file with true third argument to copy # file attributes (eg mtime) too, as opposed to FileUtils.cp # Making symlnks with FileUtils.ln_s would be another option, not # sure if it would have unexpected issues. FileUtils.copy_file full_digested_path, full_nondigested_path, true end end end
Version data entries
20 entries across 20 versions & 1 rubygems