Class: Gem::Uninstaller

Inherits:
Object
  • Object
show all
Defined in:
lib/generators/templates/application/common/merb_thor/gem_ext.rb

Class Method Summary collapse

Class Method Details

._uninstall(source_index, name, op, version) ⇒ Object



39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/generators/templates/application/common/merb_thor/gem_ext.rb', line 39

def self._uninstall(source_index, name, op, version)
  unless source_index.find_name(name, "#{op} #{version}").empty?
    uninstaller = Gem::Uninstaller.new(
      name,
      :version => "#{op} #{version}",
      :install_dir => Dir.pwd / "gems",
      :all => true,
      :ignore => true
    )
    _with_silent_ui { uninstaller.uninstall }
  end
end

._uninstall_others(source_index, name, version) ⇒ Object



52
53
54
55
# File 'lib/generators/templates/application/common/merb_thor/gem_ext.rb', line 52

def self._uninstall_others(source_index, name, version)
  _uninstall(source_index, name, "<", version)
  _uninstall(source_index, name, ">", version)
end

._with_silent_uiObject



25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/generators/templates/application/common/merb_thor/gem_ext.rb', line 25

def self._with_silent_ui
  
  ui = Gem::DefaultUserInteraction.ui 
  def ui.say(str)
    puts "- #{str}"
  end
  
  yield
  
  class << Gem::DefaultUserInteraction.ui
    remove_method :say
  end 
end