class Rake::CondenserTask
Simple Condenser
compilation Rake
task macro.
Rake::CondenserTask.new do |t| t.environment = Condenser.new t.output = "./public/assets" t.assets = %w( application.js application.css ) end
Attributes
assets[RW]
Array of asset logical paths to compile.
t.assets = %w( application.js jquery.js application.css )
environment[W]
keep[RW]
Number of old assets to keep.
logger[RW]
Logger to use during rake tasks. Defaults to using stderr.
t.logger = Logger.new($stdout)
manifest[W]
name[RW]
Name of the task. Defaults to “assets”.
The name will also be used to suffix the clean and clobber tasks, “clean_assets” and “clobber_assets”.
output[RW]
Directory to write compiled assets too. As well as the manifest file.
t.output = "./public/assets"
Public Class Methods
new(name = :assets) { |self| ... }
click to toggle source
# File lib/rake/condensertask.rb, line 74 def initialize(name = :assets) @name = name @environment = lambda { Condenser.new(Dir.pwd) } @manifest = lambda { Condenser::Manifest.new(environment, output) } @logger = Logger.new($stdout, level: :info) @keep = 2 yield self if block_given? define end
Public Instance Methods
define()
click to toggle source
Define tasks
# File lib/rake/condensertask.rb, line 87 def define desc name == :assets ? "Compile assets" : "Compile #{name} assets" task name do with_logger do manifest.compile(assets) end end desc name == :assets ? "Remove all assets" : "Remove all #{name} assets" task "clobber_#{name}" do with_logger do manifest.clobber end end task :clobber => ["clobber_#{name}"] desc name == :assets ? "Clean old assets" : "Clean old #{name} assets" task "clean_#{name}" do with_logger do manifest.clean(keep) end end task :clean => ["clean_#{name}"] end
environment()
click to toggle source
`Environment` instance used for finding assets.
You'll most likely want to reassign `environment` to your own.
Rake::CondenserTask.new do |t| t.environment = Foo::Assets end
# File lib/rake/condensertask.rb, line 31 def environment if !@environment.is_a?(Condenser) && @environment.respond_to?(:call) @environment = @environment.call else @environment end end
manifest()
click to toggle source
`Manifest` instance used for already compiled assets.
Will be created by default if an environment and output directory are given
# File lib/rake/condensertask.rb, line 44 def manifest if !@manifest.is_a?(Condenser::Manifest) && @manifest.respond_to?(:call) @manifest = @manifest.call else @manifest end end
Private Instance Methods
with_logger() { || ... }
click to toggle source
Sub out environment logger with our rake task logger that writes to stderr.
# File lib/rake/condensertask.rb, line 117 def with_logger if env = manifest.environment old_logger = env.logger env.logger = @logger end yield ensure env.logger = old_logger if env end