require “fileutils” require 'action_view' require 'sprockets/static_compiler'

namespace :assets do

# execute this task for specific file precompile.
task :precompile_specific do
  # Ensure that action view is loaded and the appropriate
  # sprockets hooks get executed
  digest = nil
  _ = ActionView::Base
  target_file = (ENV["ASSET_FILES"].gsub("[","").gsub("]","").split(",") rescue [])
  config = Rails.application.config
  config.assets.compile = true
  config.assets.digest  = digest unless digest.nil?
  config.assets.digests = {}
  env      = Rails.application.assets
  target   = File.join(Rails.public_path, config.assets.prefix)
  compiler = Sprockets::StaticCompiler.new(env,
                                           target,
                                           [config.assets.precompile[0]]+target_file,
                                           :manifest_path => config.assets.manifest,
                                           :digest => config.assets.digest,
                                           :manifest => digest.nil?)
  compiler.compile_specific
end

end