module Sprockets::Paths

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/paths.rb, line 46
def append_path(path)
  self.config = hash_reassoc(config, :paths) do |paths|
    path = File.expand_path(path, config[:root]).freeze
    paths.push(path)
  end
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/paths.rb, line 58
def clear_paths
  self.config = hash_reassoc(config, :paths) do |paths|
    paths.clear
  end
end
each_file() { |filename| ... } click to toggle source

Public: Iterate over every file under all load paths.

Returns Enumerator if no block is given.

# File lib/sprockets/paths.rb, line 67
def each_file
  return to_enum(__method__) unless block_given?

  paths.each do |root|
    stat_tree(root).each do |filename, stat|
      if stat.file?
        yield filename
      end
    end
  end

  nil
end
paths() click to toggle source

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

These paths will be used for asset logical path lookups.

# File lib/sprockets/paths.rb, line 29
def paths
  config[:paths]
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/paths.rb, line 36
def prepend_path(path)
  self.config = hash_reassoc(config, :paths) do |paths|
    path = File.expand_path(path, config[:root]).freeze
    paths.unshift(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/paths.rb, line 12
def root
  config[:root]
end

Private Instance Methods

root=(path) click to toggle source

Internal: Change Environment root.

Only the initializer should change the root.

# File lib/sprockets/paths.rb, line 19
def root=(path)
  self.config = hash_reassoc(config, :root) do
    File.expand_path(path)
  end
end