puppet-standalone-mashup/shared/lib/puppet/provider/gem/gem_install.rb

43 lines
788 B
Ruby
Raw Normal View History

Puppet::Type.type(:gem).provide(:install) do
desc "Install a Ruby Gem"
def create
2012-01-18 17:29:05 +00:00
system gem_command('install --no-ri --no-rdoc')
end
def destroy
system gem_command('uninstall -x -I')
end
def exists?
system gem_command('list -i')
$?.exitstatus == 0
end
private
def version
version = ''
if @resource[:version] && !@resource[:version].empty?
version = " -v #{@resource[:version]}"
end
2012-02-12 23:42:29 +00:00
version
end
2012-02-12 23:42:29 +00:00
def options
options = ''
if @resource[:options] && !@resource[:options].empty?
options = " #{@resource[:options]}"
end
options
end
def gem_command(what)
2012-02-12 23:42:29 +00:00
command = %{bash -c 'PATH=#{@resource[:path]} gem #{what} #{@resource[:name]} #{options} #{version}'}.tap { |o| p o }
2012-01-18 17:29:05 +00:00
command
end
end