class Rake::AssetTasks

helps define asset tasks

Constants

TASKS

The tasks defined for pre-compilation of assets

Attributes

environment[R]
index[R]
keep[R]
logger[RW]

Logger to use during rake tasks. Defaults to using stderr.

manifest[R]
output[RW]

Public Class Methods

new() { |self| ... } click to toggle source

Initialize the rake task-builder

# File lib/rake/asset_tasks.rb, line 42
def initialize
  @environment  = Flatrack.assets
  @logger       = Logger.new($stderr)
  @logger.level = Logger::INFO
  @output       = './public/assets'
  yield self if block_given?
  @index    = environment.index
  @manifest = Sprockets::Manifest.new(index, output)
  @keep     = 2
  define
end

Public Instance Methods

log_level() click to toggle source

Returns logger level Integer.

# File lib/rake/asset_tasks.rb, line 27
def log_level
  @logger.level
end
log_level=(level) click to toggle source

Set logger level with constant or symbol. @param level [Symbol, const] the logger level

# File lib/rake/asset_tasks.rb, line 33
def log_level=(level)
  if level.is_a?(Integer)
    @logger.level = level
  else
    @logger.level = Logger.const_get(level.to_s.upcase)
  end
end

Private Instance Methods

assets() click to toggle source
# File lib/rake/asset_tasks.rb, line 60
def assets
  files.map do |file|
    Asset.new(environment, file).path
  end
end
define() click to toggle source
# File lib/rake/asset_tasks.rb, line 56
def define
  instance_eval(&TASKS)
end
files() click to toggle source
# File lib/rake/asset_tasks.rb, line 66
def files
  paths.reduce([]) do |ary, path|
    ary + Dir[File.join path, '**', '*']
  end
end
with_logger() { || ... } click to toggle source

Sub out environment logger with our rake task logger that writes to stderr.

# File lib/rake/asset_tasks.rb, line 74
def with_logger
  env = manifest.environment
  if env
    old_logger = env.logger
    env.logger = @logger
  end
  yield
ensure
  env.logger = old_logger if env
end