Sha256: 6793f586a3c98376722613a8e605cf455df6e415fff1f4d60da551cd83ced776

Contents?: true

Size: 1.66 KB

Versions: 23

Compression:

Stored size: 1.66 KB

Contents

require 'active_support/all'
require 'fileutils'
require 'json'
require 'yaml'

require_relative 'load_sprockets'

########################################################################################################################

Plugin = Fanforce::Plugin
Plugin.config.load_global_paths
Plugin.config.load_env

PluginWorker = Fanforce::PluginWorker

########################################################################################################################

namespace :assets do

  desc 'Precompile assets for production'
  task :precompile => :clean do
    config = Plugin.config
    sprockets = SprocketsCompiler.setup(config.base_dir)

    puts 'PRECOMPILING ASSETS... '
    SprocketsCompiler.new(sprockets: sprockets, precompile: [/(\/|^)[^_\/]+[^\/]*\.(css|js|png|gif|jpeg|jpg|otf|eot|svg|ttf|woff)/]).compile
    puts 'DONE'

    print 'GENERATING ASSET MANIFESTS... '
    asset_list = {}
    sprockets.each_logical_path do |logical_path|
      if File.basename(logical_path) !~ /^[_]/ and asset = sprockets.find_asset(logical_path)
        asset_list[logical_path] = "/assets/#{asset.digest_path}"
      end
    end
    IO.write File.join(config.base_dir, '/public/asset_manifest.json'), JSON.generate(asset_list)
    IO.write File.join(config.base_dir, '/public/asset_manifest.json'), "ASSETS=#{JSON.generate(asset_list)}"
    IO.write File.join(config.base_dir, '/public/asset_manifest.json'), asset_list.to_yaml
    puts 'DONE'
  end

  desc 'Clean assets folder'
  task :clean do
    print 'DESTROYING PUBLIC/ASSETS... '
    FileUtils.rm_rf File.join(Plugin.config.base_dir, '/public/assets')
    puts 'DONE'
  end

  task :test do
    puts 'TEST WORKED!'
  end

end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
fanforce-plugin-factory-2.0.0.rc29 lib/fanforce/plugin_factory/Rakefile
fanforce-plugin-factory-2.0.0.rc28 lib/fanforce/plugin_factory/Rakefile
fanforce-plugin-factory-2.0.0.rc27 lib/fanforce/plugin_factory/Rakefile
fanforce-plugin-factory-2.0.0.rc26 lib/fanforce/plugin_factory/Rakefile
fanforce-plugin-factory-2.0.0.rc25 lib/fanforce/plugin_factory/Rakefile
fanforce-plugin-factory-2.0.0.rc24 lib/fanforce/plugin_factory/Rakefile
fanforce-plugin-factory-2.0.0.rc23 lib/fanforce/plugin_factory/Rakefile
fanforce-plugin-factory-2.0.0.rc22 lib/fanforce/plugin_factory/Rakefile
fanforce-plugin-factory-2.0.0.rc21 lib/fanforce/plugin_factory/Rakefile
fanforce-plugin-factory-2.0.0.rc19 lib/fanforce/plugin_factory/Rakefile
fanforce-plugin-factory-2.0.0.rc18 lib/fanforce/plugin_factory/Rakefile
fanforce-plugin-factory-2.0.0.rc17 lib/fanforce/plugin_factory/Rakefile
fanforce-plugin-factory-2.0.0.rc16 lib/fanforce/plugin_factory/Rakefile
fanforce-plugin-factory-2.0.0.rc15 lib/fanforce/plugin_factory/Rakefile
fanforce-plugin-factory-2.0.0.rc13 lib/fanforce/plugin_factory/Rakefile
fanforce-plugin-factory-2.0.0.rc12 lib/fanforce/plugin_factory/Rakefile
fanforce-plugin-factory-2.0.0.rc11 lib/fanforce/plugin_factory/Rakefile
fanforce-plugin-factory-2.0.0.rc10 lib/fanforce/plugin_factory/Rakefile
fanforce-plugin-factory-2.0.0.rc9 lib/fanforce/plugin_factory/Rakefile
fanforce-plugin-factory-2.0.0.rc8 lib/fanforce/plugin_factory/Rakefile