module Sprockets::Dependencies
‘Dependencies` is an internal mixin whose public methods are exposed on the `Environment` and `CachedEnvironment` classes.
Public Instance Methods
add_dependency(uri)
click to toggle source
Public: Add environmental dependency inherited by all assets.
uri - String dependency URI
Returns nothing.
# File lib/sprockets/dependencies.rb, line 48 def add_dependency(uri) self.config = hash_reassoc(config, :dependencies) do |set| set + Set.new([uri]) end end
Also aliased as: depend_on
dependencies()
click to toggle source
Public: Default set of dependency URIs for assets.
Returns Set of String URIs.
# File lib/sprockets/dependencies.rb, line 25 def dependencies config[:dependencies] end
dependency_resolvers()
click to toggle source
Public: Mapping dependency schemes to resolver functions.
key - String scheme value - Proc.call(Environment, String)
Returns Hash.
# File lib/sprockets/dependencies.rb, line 18 def dependency_resolvers config[:dependency_resolvers] end
register_dependency_resolver(scheme, &block)
click to toggle source
Public: Register new dependency URI resolver.
scheme - String scheme block -
environment - Environment uri - String dependency URI
Returns nothing.
# File lib/sprockets/dependencies.rb, line 37 def register_dependency_resolver(scheme, &block) self.config = hash_reassoc(config, :dependency_resolvers) do |hash| hash.merge(scheme => block) end end
resolve_dependency(str)
click to toggle source
Internal: Resolve
dependency URIs.
Returns resolved Object.
# File lib/sprockets/dependencies.rb, line 58 def resolve_dependency(str) # Optimize for the most common scheme to # save 22k allocations on an average Spree app. scheme = if str.start_with?('file-digest:'.freeze) 'file-digest'.freeze else str[/([^:]+)/, 1] end if resolver = config[:dependency_resolvers][scheme] resolver.call(self, str) else nil end end