class Thor::Runner

def update(name)

def update(name)
  raise Error, "Can't find module '#{name}'" if !thor_yaml[name] || !thor_yaml[name][:location]
  say "Updating '#{name}' from #{thor_yaml[name][:location]}"
  old_filename = thor_yaml[name][:filename]
  self.options = options.merge("as" => name)
  if File.directory? File.expand_path(name)
    require "fileutils"
    FileUtils.rm_rf(File.join(thor_root, old_filename))
    thor_yaml.delete(old_filename)
    save_yaml(thor_yaml)
    filename = install(name)
  else
    filename = install(thor_yaml[name][:location])
  end
  File.delete(File.join(thor_root, old_filename)) unless filename == old_filename
end