class Roda::RodaPlugins::Sprockets::Task

Public Class Methods

define!(app_klass) click to toggle source
# File lib/roda/plugins/sprockets_task.rb, line 54
def self.define!(app_klass)
  self.new app_klass
end
new(app_klass) click to toggle source
Calls superclass method
# File lib/roda/plugins/sprockets_task.rb, line 9
def initialize(app_klass)
  if app_klass.class != Class
    raise "#{app_klass} is not a Class"
  elsif !app_klass.ancestors.map(&:name).include? "Roda"
    raise "#{app_klass} doesn't inherit Roda"
  elsif !app_klass.respond_to? :sprockets_options
    raise "#{app_klass} doesn't load 'plugin :sprockets` - we can build nothing from it"
  end

  @app_klass = app_klass
  super() { update_values }
end

Public Instance Methods

define() click to toggle source
# File lib/roda/plugins/sprockets_task.rb, line 36
def define
  namespace :assets do
    desc "Precompile assets"
    task :precompile do
      with_logger do
        manifest.compile(assets)
      end
    end

    desc "Clean assets"
    task :clean do
      with_logger do
        manifest.clobber
      end
    end
  end
end
sprockets_options() click to toggle source
# File lib/roda/plugins/sprockets_task.rb, line 28
def sprockets_options
  @opts ||= begin
    opts = @app_klass.sprockets_options.dup
    opts[:debug] = false
    opts
  end
end
update_values() click to toggle source
# File lib/roda/plugins/sprockets_task.rb, line 22
def update_values
  @environment = sprockets_options[:sprockets]
  @output = sprockets_options[:public_path]
  @assets = sprockets_options[:precompile]
end