Sha256: a6d32aa56a8be049e463f82de99de607ac9dd1872a8503ec30a0d167f3482dfa
Contents?: true
Size: 1.17 KB
Versions: 2
Compression:
Stored size: 1.17 KB
Contents
module Sprockets # Internal: Used for lazy loading processors. # # Libraries should not use lazily loaded processors. They are only needed # internally by Sprockets since it has optionally dependencies such as # CoffeeScript that may not be available in the gem environment. class AutoloadProcessor # Initialize AutoloadProcessor wrapper # # See ProcessorUtils.autoload_processor for constructor method. # # mod - Parent Module of processor class/module # name - Symbol name of processor class/module def initialize(mod, name) @mod = mod @name = name.to_sym end # Full name of module. # # Returns String. def name "#{@mod}::#{@name}" end # Check if target constant is already loaded. # # Returns Boolean. def const_loaded? @mod.autoload?(@name) end # Delegate to processor#cache_key def cache_key load_processor.cache_key if load_processor.respond_to?(:cache_key) end # Delegate to processor#call def call(*args) load_processor.call(*args) end private def load_processor @processor ||= @mod.const_get(@name) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
sprockets-3.0.0.beta.8 | lib/sprockets/autoload_processor.rb |
sprockets-3.0.0.beta.7 | lib/sprockets/autoload_processor.rb |