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



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

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



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

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

._with_silent_uiObject



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

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