Module: Sprockets::Resolve
Relationships & Source Files | |
Extension / Inclusion / Inheritance Descendants | |
Included In:
| |
Super Chains via Extension / Inclusion / Inheritance | |
Instance Chain:
|
|
Defined in: | lib/sprockets/resolve.rb |
Constant Summary
PathUtils
- Included
Instance Method Summary
-
#resolve(path, load_paths: config[:paths], accept: nil, pipeline: nil, base_path: nil)
Public: Find Asset URI for given a logical path by searching the environment’s load paths.
-
#resolve!(path, **kargs)
Public: Same as resolve() but raises a
FileNotFound
exception instead of nil if no assets are found.
HTTPUtils
- Included
#find_best_mime_type_match | Internal: Find the best qvalue match from an Array of available mime type options. |
#find_best_q_match | Internal: Find the best qvalue match from an Array of available options. |
#find_mime_type_matches | Internal: Find the all qvalue match from an Array of available mime type options. |
#find_q_matches | Internal: Find all qvalue matches from an Array of available options. |
#match_mime_type? | Public: Test mime type against mime range. |
#match_mime_type_keys | Public: Return values from Hash where the key matches the mime type. |
#parse_q_values | Internal: Parse Accept header quality values. |
PathDependencyUtils
- Included
#entries_with_dependencies | Internal: List directory entries and return a set of dependencies that would invalid the cached return result. |
#stat_directory_with_dependencies | Internal: List directory filenames and associated Stats under a directory. |
#stat_sorted_tree_with_dependencies | Internal: List directory filenames and associated Stats under an entire directory tree. |
PathUtils
- Included
#absolute_path? | On Windows, ALT_SEPARATOR is \ Delegate to Pathname since the logic gets complex. |
#atomic_write | Public: Write to a file atomically. |
#directory? | Public: Like |
#entries | Public: A version of |
#file? | Public: Like |
#find_matching_path_for_extensions | Internal: Match paths in a directory against available extensions. |
#find_upwards | Internal: Find target basename checking upwards from path. |
#join | Public: Joins path to base path. |
#match_path_extname | Internal: Match path extnames against available extensions. |
#path_extnames | Internal: Get path’s extensions. |
#path_parents | Internal: Returns all parents for path. |
#paths_split | Internal: Detect root path and base for file in a set of paths. |
#relative_path? | Public: Check if path is explicitly relative. |
#relative_path_from | Public: Get relative path from |
#set_pipeline | Public: Sets pipeline for path. |
#split_subpath | Internal: Get relative path for root path and subpath. |
#stat | Public: Like |
#stat_directory | Public: Stat all the files under a directory. |
#stat_sorted_tree | Public: Recursive stat all the files under a directory in alphabetical order. |
#stat_tree | Public: Recursive stat all the files under a directory. |
URIUtils
- Included
#build_asset_uri | Internal: Build Asset URI. |
#build_file_digest_uri | Internal: Build file-digest dependency URI. |
#encode_uri_query_params | Internal: Serialize hash of params into query string. |
#join_file_uri | Internal: Join file: URI component parts into String. |
#join_uri | Internal: Join URI component parts into String. |
#parse_asset_uri | Internal: Parse Asset URI. |
#parse_file_digest_uri | Internal: Parse file-digest dependency URI. |
#parse_uri_query_params | Internal: Parse query string into hash of params. |
#split_file_uri | Internal: Parse file: URI into component parts. |
#split_uri | Internal: Parse URI into component parts. |
#valid_asset_uri? | Internal: Check if String is a valid |
Instance Method Details
#resolve(path, load_paths: config[:paths], accept: nil, pipeline: nil, base_path: nil)
Public: Find Asset URI for given a logical path by searching the environment’s load paths.
resolve("application.js")
# => "file:///path/to/app/javascripts/application.js?type=application/javascript"
An accept content type can be given if the logical path doesn’t have a format extension.
resolve("application", accept: "application/javascript")
# => "file:///path/to/app/javascripts/application.coffee?type=application/javascript"
The String Asset
URI is returned or nil if no results are found.
# File 'lib/sprockets/resolve.rb', line 24
def resolve(path, load_paths: config[:paths], accept: nil, pipeline: nil, base_path: nil) paths = load_paths if valid_asset_uri?(path) uri, deps = resolve_asset_uri(path) elsif absolute_path?(path) filename, type, deps = resolve_absolute_path(paths, path, accept) elsif relative_path?(path) filename, type, path_pipeline, deps, index_alias = resolve_relative_path(paths, path, base_path, accept) else filename, type, path_pipeline, deps, index_alias = resolve_logical_path(paths, path, accept) end if filename uri = build_asset_uri(filename, type: type, pipeline: pipeline || path_pipeline, index_alias: index_alias) end return uri, deps end
#resolve!(path, **kargs)
Public: Same as resolve() but raises a FileNotFound
exception instead of nil if no assets are found.
# File 'lib/sprockets/resolve.rb', line 46
def resolve!(path, **kargs) uri, deps = resolve(path, **kargs) unless uri = +"couldn't find file '#{path}'" if relative_path?(path) && kargs[:base_path] load_path, _ = paths_split(config[:paths], kargs[:base_path]) << " under '#{load_path}'" end << " with type '#{kargs[:accept]}'" if kargs[:accept] load_paths = kargs[:load_paths] || config[:paths] << "\nChecked in these paths: \n #{ load_paths.join("\n ") }" raise FileNotFound, end return uri, deps end