Sha256: 9ef821d048301183ea02b7a8123ff2546de7398b6cea8ef57ba665510b65f68e

Contents?: true

Size: 844 Bytes

Versions: 18

Compression:

Stored size: 844 Bytes

Contents

class Ungemmer
  def self.ungem(*names)
    return
    deps = names.map do |name|
      Gem::Dependency.new(name, nil)
    end

    deps.each do |dep|
      Gem.source_index.search(dep).each do |gemspec|
	puts " ** Ungemming #{gemspec.full_name}  **"
	Gem.source_index.remove_spec(gemspec.full_name)
      end
    end

    Gem.instance_eval do
      if defined? Gem::MUTEX
      Gem::MUTEX.synchronize do
          @searcher = nil
        end
      else
	@searcher = nil
      end
    end
  end

  def self.ungem_gemspec
    Dir[File::expand_path(__FILE__ + "../../../*.gemspec")].each do |gemspec_path|
      puts "Ungemming based on #{gemspec_path}"
      begin
        spec = Gem::Specification::load(gemspec_path)
        Ungemmer::ungem(spec)
      rescue LoadError
        puts "Couldn't load #{gemspec_path}"
      end
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
valise-1.2.1 spec_help/ungemmer.rb
valise-1.2.0 spec_help/ungemmer.rb
valise-1.1.4 spec_help/ungemmer.rb
valise-1.1.3 spec_help/ungemmer.rb
valise-1.1.2 spec_help/ungemmer.rb
valise-1.1.1 spec_help/ungemmer.rb
valise-1.1.0 spec_help/ungemmer.rb
valise-1.0.0 spec_help/ungemmer.rb
valise-0.9.1 spec_help/ungemmer.rb
valise-0.9.0 spec_help/ungemmer.rb
valise-0.8.2 spec_help/ungemmer.rb
valise-0.8.1 spec_help/ungemmer.rb
valise-0.8 spec_help/ungemmer.rb
valise-0.7 spec_help/ungemmer.rb
valise-0.6 spec_help/ungemmer.rb
valise-0.5 spec_help/ungemmer.rb
valise-0.4 spec_help/ungemmer.rb
valise-0.3 spec_help/ungemmer.rb