Class: Roda::RodaPlugins::Sprockets::Task

Inherits:
Rake::SprocketsTask
  • Object
show all
Defined in:
lib/roda/plugins/sprockets_task.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(app_klass) ⇒ Task

Returns a new instance of Task.



9
10
11
12
13
14
15
16
17
18
19
20
# 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

Class Method Details

.define!(app_klass) ⇒ Object



50
51
52
# File 'lib/roda/plugins/sprockets_task.rb', line 50

def self.define!(app_klass)
  self.new app_klass
end

Instance Method Details

#defineObject



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/roda/plugins/sprockets_task.rb', line 32

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_optionsObject



28
29
30
# File 'lib/roda/plugins/sprockets_task.rb', line 28

def sprockets_options
  @app_klass.sprockets_options
end

#update_valuesObject



22
23
24
25
26
# 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