summaryrefslogtreecommitdiffstats
path: root/lib/puppet/provider/package/gem.rb
diff options
context:
space:
mode:
authorLuke Kanies <luke@madstop.com>2008-02-13 16:30:49 -0600
committerLuke Kanies <luke@madstop.com>2008-02-13 16:30:49 -0600
commit9b1bfc1e2eadc8fc56dc8df1510b5dec977524f4 (patch)
tree6d0585234c64cc48d3c9ba08dada9bde08689aaf /lib/puppet/provider/package/gem.rb
parent0cfa1d2b7ae38020d3b845d7713cb10cda7facef (diff)
downloadpuppet-9b1bfc1e2eadc8fc56dc8df1510b5dec977524f4.tar.gz
puppet-9b1bfc1e2eadc8fc56dc8df1510b5dec977524f4.tar.xz
puppet-9b1bfc1e2eadc8fc56dc8df1510b5dec977524f4.zip
Fixed #992 -- Puppet is now compatible with gems 1.0.1.
Diffstat (limited to 'lib/puppet/provider/package/gem.rb')
-rwxr-xr-xlib/puppet/provider/package/gem.rb8
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/puppet/provider/package/gem.rb b/lib/puppet/provider/package/gem.rb
index 6e777a735..f73694779 100755
--- a/lib/puppet/provider/package/gem.rb
+++ b/lib/puppet/provider/package/gem.rb
@@ -23,14 +23,14 @@ Puppet::Type.type(:package).provide :gem, :parent => Puppet::Provider::Package d
end
begin
- list = execute(command).split("\n\n").collect do |set|
+ list = execute(command).split("\n").collect do |set|
if gemhash = gemsplit(set)
gemhash[:provider] = :gem
gemhash
else
nil
end
- end.reject { |p| p.nil? }
+ end.compact
rescue Puppet::ExecutionFailure => detail
raise Puppet::Error, "Could not list gems: %s" % detail
end
@@ -44,8 +44,8 @@ Puppet::Type.type(:package).provide :gem, :parent => Puppet::Provider::Package d
def self.gemsplit(desc)
case desc
- when /^\*\*\*/: return nil
- when /^(\S+)\s+\((.+)\)\n/
+ when /^\*\*\*/, /^\s*$/, /^\s+/; return nil
+ when /^(\S+)\s+\((.+)\)/
name = $1
version = $2.split(/,\s*/)[0]
return {