class Sprockets::CachedEnvironment

‘Environment#cached`.
`Cached` should not be initialized directly. Instead use
is immutable.
behavior is ideal in production environments where the file system
for the instances lifetime. This makes `Cached` much faster. This
The expection is that all of its file system methods are cached
`Cached` is a special cached version of `Environment`.

def cached

No-op return self as cached environment.
def cached
  self
end

def config=(config)

should bomb.
Cache is immutable, any methods that try to change the runtime config
def config=(config)
  raise RuntimeError, "can't modify immutable cached environment"
end

def entries(path)

def entries(path)
  @entries[path]
end

def initialize(environment)

def initialize(environment)
  initialize_configuration(environment)
  @cache   = environment.cache
  @stats   = Hash.new { |h, k| h[k] = _stat(k) }
  @entries = Hash.new { |h, k| h[k] = _entries(k) }
  @uris    = Hash.new { |h, k| h[k] = _load(k) }
  @processor_cache_keys  = Hash.new { |h, k| h[k] = _processor_cache_key(k) }
  @resolved_dependencies = Hash.new { |h, k| h[k] = _resolve_dependency(k) }
end

def load(uri)

def load(uri)
  @uris[uri]
end

def processor_cache_key(str)

def processor_cache_key(str)
  @processor_cache_keys[str]
end

def resolve_dependency(str)

def resolve_dependency(str)
  @resolved_dependencies[str]
end

def stat(path)

def stat(path)
  @stats[path]
end