HEX
Server: Apache
System: Linux s198.coreserver.jp 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC 2025 x86_64
User: nagasaki (10062)
PHP: 7.1.33
Disabled: NONE
Upload Files
File: //usr/local/rvm/gems/ruby-2.4.10@global/gems/bundler-unload-1.0.2/lib/bundler-unload.rb
require "bundler"

module Bundler
  class RubygemsIntegration
    class Legacy
      def plain_specs
        Gem.source_index.gems
      end
      def plain_specs=(specs)
        Gem.source_index.instance_variable_set(:@gems, specs)
      end
    end

    class Modern
      def plain_specs
        Gem::Specification._all
      end
      def plain_specs=(specs)
        Gem::Specification.all = specs
      end
    end

    class Future
      def plain_specs
        Gem::Specification._all
      end
      def plain_specs=(specs)
        Gem::Specification.all = specs
      end
    end
  end

  class << self
    def unload!(rubygems_specs)
      @load = nil
      @definition = nil
      ENV.replace(ORIGINAL_ENV)
      Bundler.rubygems.plain_specs = rubygems_specs
    end

    def with_bundle(&block)
      rubygems_specs = Bundler.rubygems.plain_specs
      block.call(Bundler.load)
    ensure
      unload!(rubygems_specs)
    end
  end
end