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
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
FileNotFoundexception 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