# class Sprockets::Rails::Task

### Attributes

app[RW]

### Public Class Methods

new(app = nil) click to toggle source
Calls superclass method

    # File lib/sprockets/rails/task.rb, line 12
    def initialize(app = nil)
      self.app = app
      super()
    end

### Public Instance Methods

assets() click to toggle source
Calls superclass method

    # File lib/sprockets/rails/task.rb, line 36
    def assets
      if app
        app.config.assets.precompile
      else
        super
      end
    end

define() click to toggle source

    # File lib/sprockets/rails/task.rb, line 52
    def define
      namespace :assets do
        %w( environment precompile clean clobber ).each do |task|
          Rake::Task[task].clear if Rake::Task.task_defined?(task)
        end

        # Override this task change the loaded dependencies
        desc "Load asset compile environment"
        task :environment do
          # Load full Rails environment by default
          Rake::Task['environment'].invoke
        end

        desc "Compile all the assets named in config.assets.precompile"
        task :precompile => :environment do
          with_logger do
            manifest.compile(assets)
          end
        end

        desc "Remove old compiled assets"
        task :clean, [:keep] => :environment do |t, args|
          with_logger do
            manifest.clean(Integer(args.keep || self.keep))
          end
        end

        desc "Remove compiled assets"
        task :clobber => :environment do
          with_logger do
            manifest.clobber
          end
        end
      end
    end

environment() click to toggle source
Calls superclass method

    # File lib/sprockets/rails/task.rb, line 17
    def environment
      if app
        # Use initialized app.assets or force build an environment if
        # config.assets.compile is disabled
        app.assets || Sprockets::Railtie.build_environment(app)
      else
        super
      end
    end

manifest() click to toggle source
Calls superclass method

    # File lib/sprockets/rails/task.rb, line 44
    def manifest
      if app
        Sprockets::Manifest.new(index, output, app.config.assets.manifest)
      else
        super
      end
    end

output() click to toggle source
Calls superclass method

    # File lib/sprockets/rails/task.rb, line 27
    def output
      if app
        config = app.config
        File.join(config.paths['public'].first, config.assets.prefix)
      else
        super
      end
    end