module Bundler
def gem_setup(*groups)
def gem_setup(*groups) return @setup if @setup begin if groups.empty? # Load all groups, but only once @setup = load.setup else # Figure out which groups haven't been loaded yet unloaded = groups - (@completed_groups || []) # Record groups that are now loaded @completed_groups = groups | (@completed_groups || []) # Load any groups that are not yet loaded unloaded.any? ? load.setup(*unloaded) : load end rescue Bundler::GemNotFound => e STDERR.puts e.message STDERR.puts "Try running `bundle install`." exit! end end