Previously if the gem json_pure was installed and you requested the
gem json then the regex matched too soon and falshly indicated that
the json gem was already installed.

Also updated to add the --no-ri and no-rdoc options and fix tests.

Signed-off-by: James Turnbull <ja...@lovedthanlost.net>
---
 lib/puppet/provider/package/gem.rb     |    5 +++--
 spec/unit/provider/package/gem_spec.rb |   12 +++++++++++-
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/lib/puppet/provider/package/gem.rb 
b/lib/puppet/provider/package/gem.rb
index 19414ce..64544db 100755
--- a/lib/puppet/provider/package/gem.rb
+++ b/lib/puppet/provider/package/gem.rb
@@ -1,5 +1,6 @@
 require 'puppet/provider/package'
 require 'uri'
+require 'pp'
 
 # Ruby gems support.
 Puppet::Type.type(:package).provide :gem, :parent => Puppet::Provider::Package 
do
@@ -22,7 +23,7 @@ Puppet::Type.type(:package).provide :gem, :parent => 
Puppet::Provider::Package d
     end
 
     if name = hash[:justme]
-      command << name
+      command << name + "$"
     end
 
     begin
@@ -94,7 +95,7 @@ Puppet::Type.type(:package).provide :gem, :parent => 
Puppet::Provider::Package d
         command << "--source" << "#{source}" << resource[:name]
       end
     else
-      command << resource[:name]
+      command << "--no-rdoc" << "--no-ri" << resource[:name]
     end
 
     output = execute(command)
diff --git a/spec/unit/provider/package/gem_spec.rb 
b/spec/unit/provider/package/gem_spec.rb
index 063e147..32c067a 100644
--- a/spec/unit/provider/package/gem_spec.rb
+++ b/spec/unit/provider/package/gem_spec.rb
@@ -42,8 +42,18 @@ describe provider_class do
       @provider.install
     end
 
+    it "should specify that documentation should not be included" do
+      @provider.expects(:execute).with { |args| args[3] == "--no-rdoc" 
}.returns ""
+      @provider.install
+    end
+
+    it "should specify that RI should not be included" do
+      @provider.expects(:execute).with { |args| args[4] == "--no-ri" }.returns 
""
+      @provider.install
+    end
+
     it "should specify the package name" do
-      @provider.expects(:execute).with { |args| args[3] == "myresource" 
}.returns ""
+      @provider.expects(:execute).with { |args| args[5] == "myresource" 
}.returns ""
       @provider.install
     end
 
-- 
1.7.1

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To post to this group, send email to puppet-dev@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-dev+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en.

Reply via email to