class Startback::Web::MagicAssets::RakeTasks
Constants
- DEFAULT_OPTIONS
Attributes
options[R]
rake[R]
Public Class Methods
new(rake, options)
click to toggle source
# File lib/startback/web/magic_assets/rake_tasks.rb, line 10 def initialize(rake, options) @rake = rake @options = DEFAULT_OPTIONS.merge(options) install end
Private Instance Methods
install()
click to toggle source
# File lib/startback/web/magic_assets/rake_tasks.rb, line 19 def install require 'securerandom' ns = options[:namespace] target_folder = options[:target] assets = options[:assets] assets = MagicAssets.new(assets) if assets.is_a?(Hash) version = SecureRandom.urlsafe_base64 rake.instance_exec do namespace(ns) do desc 'Cleans generated assets' task :clean do FileUtils.rm_rf target_folder end task :prepare do FileUtils.mkdir_p target_folder (target_folder/"VERSION").write(version) end desc 'compile javascript assets' task :compile_js do assets['vendor.js'].write_to(target_folder/"vendor-#{version}.min.js") assets['app.js'].write_to(target_folder/"app-#{version}.min.js") puts "successfully compiled js assets" end desc 'compile css assets' task :compile_css do assets['vendor.css'].write_to(target_folder/"vendor-#{version}.min.css") assets['app.css'].write_to(target_folder/"app-#{version}.min.css") puts "successfully compiled css assets" end desc 'compile assets' task :compile => [:clean, :prepare, :compile_js, :compile_css] end end end