Sha256: 1ef6520339423494a44d33ec10d86f4cf528a25e2c7a15eb7ca909f53b0afc4b

Contents?: true

Size: 984 Bytes

Versions: 10

Compression:

Stored size: 984 Bytes

Contents

namespace :gem do
  
  desc "freeze a gem using gem=<gem name> [version=<gem version>]"
  task :freeze do
    raise "No gem specified" unless gem_name = ENV['gem']

    require 'rubygems'
    Gem.manage_gems

    gem = (version = ENV['version']) ?
      Gem.cache.search(gem_name, "= #{version}").first :
      Gem.cache.search(gem_name).sort_by { |g| g.version }.last

    version ||= gem.version.version rescue nil

    target_dir = File.join(Waves::Configurations::Default.root, 'gems')
    mkdir_p target_dir
    sh "gem install #{gem_name} --version #{version} -i #{target_dir} --no-rdoc --no-ri"

    puts "Unpacked #{gem_name} #{version} to '#{target_dir}'"
  end

  desc "unfreeze a gem using gem=<gem>"
  task :unfreeze do
    raise "No gem specified" unless gem_name = ENV['gem']

    target_dir = File.join(Waves::Configurations::Default.root, 'gems')
    ENV['GEM_HOME'] = target_dir # no install_dir option for gem uninstall

    sh "gem uninstall #{gem_name}"
  end
end

Version data entries

10 entries across 10 versions & 4 rubygems

Version Path
dyoder-waves-0.8.0 lib/tasks/gem.rb
waves-edge-2009.03.10.13.14 lib/tasks/gem.rb
waves-stable-2009.3.10 lib/tasks/gem.rb
waves-0.9.3 lib/waves/tasks/gem.rb
waves-0.9.2 lib/waves/tasks/gem.rb
waves-0.9.1 lib/waves/tasks/gem.rb
waves-0.9.0 lib/waves/tasks/gem.rb
waves-0.8.2 lib/tasks/gem.rb
waves-0.8.1 lib/tasks/gem.rb
waves-0.8.0 lib/tasks/gem.rb