# File lib/jekyll_asset_pipeline/pipeline.rb, line 18
      def run(manifest, prefix, source, destination, tag, type, config)
        # Get hash for pipeline
        hash = hash(source, manifest, config)

        # Check if pipeline has been cached
        if cache.has_key?(hash)
          # Return cached pipeline and cached status
          return cache[hash], true
        else
          begin
            puts "Processing '#{tag}' manifest '#{prefix}'"

            # Create and process new pipeline
            pipeline = self.new(manifest, prefix, source, destination, type, config)
            pipeline.assets.each do |asset|
              puts "Saved '#{asset.filename}' to '#{destination}/#{asset.output_path}'"
            end

            # Add processed pipeline to cache
            cache[hash] = pipeline

            # Return newly processed pipeline and cached status
            return pipeline, false
          rescue Exception => e
            # Add exception to cache
            cache[hash] = e

            # Re-raise the exception
            raise e
          end
        end
      end