# File lib/bundler.rb, line 95 def setup(*groups) return @setup if defined?(@setup) && @setup 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 end