public static function path($path, $type, array $options = array())
{
$defaults = array('base' => null, 'paths' => array(), 'suffix' => null, 'library' => true, 'scope' => false);
if (!($base = static::_assets($type))) {
$base = static::_assets('generic');
}
$options += $base + $defaults;
$paths = $options['paths'];
if ($options['scope']) {
$root = static::webroot(false, $options['scope']);
} else {
$root = static::webroot($options['library']);
Libraries::get(true, 'name') === $options['library'] ? end($paths) : reset($paths);
}
if ($qOffset = strpos($path, '?')) {
$path = substr($path, 0, $qOffset);
}
if ($path[0] === '/') {
$file = $root . $path;
} else {
$template = str_replace('{:library}/', '', key($paths));
$insert = array('base' => $root) + compact('path');
$file = String::insert($template, $insert);
}
return realpath($file);
}