module Bumbler::Bundler

Public Class Methods

gem_for_require(path) click to toggle source

Returns which gem a require maps to, or nil.

# File lib/bumbler/bundler.rb, line 6
def gem_for_require(path)
  @require_map[path]
end
read_bundler_environment() click to toggle source
# File lib/bumbler/bundler.rb, line 21
def read_bundler_environment
  @require_map = {}
  @gem_state = {}

  ::Bundler.load.current_dependencies.each do |spec|
    gem_name = spec.name
    @gem_state[gem_name] = {}

    # TODO: this is horrible guess-work ... we need to get the gems load-path instead
    paths =
      if !spec.autorequire || spec.autorequire == [true]
        [gem_name]
      else
        spec.autorequire
      end

    paths.each do |path|
      @require_map[path] = gem_name
      @gem_state[gem_name][path] = false
    end

    Bumbler::Progress.register_item(gem_name)
  end
end
require_finished(gem_name, path, time) click to toggle source
# File lib/bumbler/bundler.rb, line 14
def require_finished(gem_name, path, time)
  @gem_state[gem_name][path] = true
  if @gem_state[gem_name].values.all?
    Bumbler::Progress.item_finished(gem_name, time)
  end
end
require_started(gem_name) click to toggle source
# File lib/bumbler/bundler.rb, line 10
def require_started(gem_name)
  Bumbler::Progress.item_started(gem_name)
end