Class: Luffa::Gem

Inherits:
Object
  • Object
show all
Defined in:
lib/luffa/gem.rb

Class Method Summary collapse

Class Method Details

.install_gem(gem_name, opts = {}) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/luffa/gem.rb', line 19

def self.install_gem(gem_name, opts={})
  default_opts = {:prerelease => false,
                  :no_document => true,
                  :pass_msg => "Installed '#{gem_name}'",
                  :fail_msg => "Could not install '#{gem_name}'"}

  merged_opts = default_opts.merge(opts)

  pre = merged_opts[:prerelease] ? '--pre' : ''
  no_document = merged_opts[:no_document] ? '--no-document' : ''

  Luffa.unix_command("gem install #{no_document} #{gem_name} #{pre}",
                     merged_opts)
end

.uninstall_gem(gem_name, unix_command_opts = {}) ⇒ Object



12
13
14
15
16
17
# File 'lib/luffa/gem.rb', line 12

def self.uninstall_gem(gem_name, unix_command_opts={})
  default_opts = {:pass_msg => "Uninstalled '#{gem_name}'",
                  :fail_msg => "Could not uninstall '#{gem_name}'"}
  Luffa.unix_command("gem uninstall -Vax --force --no-abort-on-dependent #{gem_name}",
                     default_opts.merge(unix_command_opts))
end

.update_rubygems(unix_command_opts = {}) ⇒ Object



4
5
6
7
8
9
10
# File 'lib/luffa/gem.rb', line 4

def self.update_rubygems(unix_command_opts={})
  default_opts = {:pass_msg => 'Updated rubygems',
                  :fail_msg => 'Could not update rubygems'}

  Luffa.unix_command('gem update --system',
                     default_opts.merge(unix_command_opts))
end