Module: Sprockets::Trail

### Home Classes Methods

### In Files

- lib/sprockets/trail.rb

### Methods

- #append_path
- #clear_paths
- #extensions
- #paths
- #prepend_path
- #resolve
- #root
- #trail

### Class/Module Index

Quicksearch

- Sprockets
- Sprockets::ArgumentError
- Sprockets::Asset
- Sprockets::AssetAttributes
- Sprockets::Base
- Sprockets::BundledAsset
- Sprockets::Cache
- Sprockets::Cache::FileStore
- Sprockets::Caching
- Sprockets::CharsetNormalizer
- Sprockets::CircularDependencyError
- Sprockets::ContentTypeMismatch
- Sprockets::Context
- Sprockets::DirectiveProcessor
- Sprockets::EcoTemplate
- Sprockets::EjsTemplate
- Sprockets::EncodingError
- Sprockets::EngineError
- Sprockets::Engines
- Sprockets::Environment
- Sprockets::Error
- Sprockets::FileNotFound
- Sprockets::FileOutsidePaths
- Sprockets::Index
- Sprockets::JstProcessor
- Sprockets::Manifest
- Sprockets::Mime
- Sprockets::ProcessedAsset
- Sprockets::ProcessedAsset::DependencyFile
- Sprockets::Processing
- Sprockets::Processor
- Sprockets::SafetyColons
- Sprockets::Server
- Sprockets::StaticAsset
- Sprockets::Trail
- Sprockets::UnserializeError
- Sprockets::Utils
- Rake
- Rake::SprocketsTask

No matching classes.

# Sprockets::Trail

`Trail` is an internal mixin whose public methods are exposed on the `Environment` and `Index` classes.

### Public Instance Methods

append_path(path) click to toggle source

Append a `path` to the `paths` list.

Paths at the beginning of the `Array` have a higher priority.

    # File lib/sprockets/trail.rb, line 38
    def append_path(path)
      expire_index!
      @trail.append_path(path)
    end

clear_paths() click to toggle source

Clear all paths and start fresh.

There is no mechanism for reordering paths, so its best to completely wipe the paths list and reappend them in the order you want.

    # File lib/sprockets/trail.rb, line 48
    def clear_paths
      expire_index!
      @trail.paths.dup.each { |path| @trail.remove_path(path) }
    end

extensions() click to toggle source

Returns an `Array` of extensions.

These extensions maybe omitted from logical path searches.

    # => [".js", ".css", ".coffee", ".sass", ...]

    # File lib/sprockets/trail.rb, line 59
    def extensions
      trail.extensions.dup
    end

paths() click to toggle source

Returns an `Array` of path `String`s.

These paths will be used for asset logical path lookups.

Note that a copy of the `Array` is returned so mutating will have no affect on the environment. See `append_path`, `prepend_path`, and `clear_paths`.

    # File lib/sprockets/trail.rb, line 23
    def paths
      trail.paths.dup
    end

prepend_path(path) click to toggle source

Prepend a `path` to the `paths` list.

Paths at the end of the `Array` have the least priority.

    # File lib/sprockets/trail.rb, line 30
    def prepend_path(path)
      expire_index!
      @trail.prepend_path(path)
    end

resolve(logical_path, options = {}) click to toggle source

Finds the expanded real path for a given logical path by searching the environment's paths.

    resolve("application.js")
    # => "/path/to/app/javascripts/application.js.coffee"

A `FileNotFound` exception is raised if the file does not exist.

    # File lib/sprockets/trail.rb, line 70
    def resolve(logical_path, options = {})
      # If a block is given, preform an iterable search
      if block_given?
        args = attributes_for(logical_path).search_paths + [options]
        trail.find(*args) do |path|
          yield Pathname.new(path)
        end
      else
        resolve(logical_path, options) do |pathname|
          return pathname
        end
        raise FileNotFound, "couldn't find file '#{logical_path}'"
      end
    end

root() click to toggle source

Returns `Environment` root.

All relative paths are expanded with root as its base. To be useful set this to your applications root directory. (`Rails.root`)

    # File lib/sprockets/trail.rb, line 12
    def root
      trail.root.dup
    end

### Protected Instance Methods

trail() click to toggle source

    # File lib/sprockets/trail.rb, line 86
    def trail
      @trail
    end

[Validate]

Generated with the Darkfish Rdoc Generator 2.