Sha256: f77de6a02b0c5b99b3205f38d509c29b55d5156e87f91c615300878adb19475b
Contents?: true
Size: 1.5 KB
Versions: 1
Compression:
Stored size: 1.5 KB
Contents
module Bumbler module Bundler class << self # Returns which gem a require maps to, or nil. def gem_for_require(path) self.read_bundler_environment if @require_map.nil? return @require_map[path] end def require_started(path) gem_name = self.gem_for_require(path) return unless gem_name Bumbler::Progress.item_started(:bundler, gem_name) end def require_finished(path, load_time) self.read_bundler_environment if @gem_state.nil? # Tick it off for the gem. gem_name = self.gem_for_require(path) return unless gem_name @gem_state[gem_name][path] = true if @gem_state[gem_name].values.all? Bumbler::Progress.item_finished(:bundler, gem_name, load_time) end end def start! self.read_bundler_environment end def read_bundler_environment @require_map = {} @gem_state = {} ::Bundler.environment.current_dependencies.each do |spec| @gem_state[spec.name] = {} Array(spec.autorequire || spec.name).each do |path| # Handle explicitly required gems path = spec.name if path == true @require_map[path] = spec.name @gem_state[spec.name][path] = false end Bumbler::Progress.register_item(:bundler, spec.name) end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
bumbler-0.5.0 | lib/bumbler/bundler.rb |