Rakefile in progress-0.1.1.0 vs Rakefile in progress-0.1.1.1

- old
+ new

@@ -1,19 +1,22 @@ +require 'pathname' require 'rubygems' require 'rake' require 'rake/clean' require 'fileutils' require 'echoe' -version = YAML.load_file(File.join(File.dirname(__FILE__), 'VERSION.yml')).join('.') rescue nil +version = YAML.load_file(Pathname(__FILE__).dirname + 'VERSION.yml').join('.') rescue nil echoe = Echoe.new('progress', version) do |p| p.author = 'toy' p.summary = 'A library to show progress of long running tasks.' end desc "Replace system gem with symlink to this folder" -task :ghost do - path = Gem.searcher.find(echoe.name).full_gem_path - system 'sudo', 'rm', '-r', path - symlink File.expand_path('.'), path +task 'ghost' do + gem_path = Pathname(Gem.searcher.find(echoe.name).full_gem_path) + current_path = Pathname('.').expand_path + cmd = gem_path.writable? && gem_path.parent.writable? ? %w() : %w(sudo) + system(*cmd + %W[rm -r #{gem_path}]) + system(*cmd + %W[ln -s #{current_path} #{gem_path}]) end