Class: Backports::StdLib::LoadedFeatures
- Defined in:
- lib/vendor/backports-3.3.5/lib/backports/tools.rb
Constant Summary collapse
- @@our_loads =
Full paths are recorded in $LOADED_FEATURES.
{}
Class Method Summary collapse
Instance Method Summary collapse
-
#include?(feature) ⇒ Boolean
Requested features are recorded in $LOADED_FEATURES.
Class Method Details
.mark_as_loaded(feature) ⇒ Object
44 45 46 47 |
# File 'lib/vendor/backports-3.3.5/lib/backports/tools.rb', line 44 def self.mark_as_loaded(feature) @@our_loads[feature] = true # Nothing to do, the full path will be OK end |
Instance Method Details
#include?(feature) ⇒ Boolean
Requested features are recorded in $LOADED_FEATURES
32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/vendor/backports-3.3.5/lib/backports/tools.rb', line 32 def include?(feature) return true if @@our_loads[feature] # Assume backported features are Ruby libraries (i.e. not C) @loaded ||= $LOADED_FEATURES.group_by{|p| File.basename(p, ".rb")} if fullpaths = @loaded[File.basename(feature, ".rb")] fullpaths.any?{|fullpath| base_dir, = fullpath.partition("/#{feature}") $LOAD_PATH.include?(base_dir) } end end |