From: Jonas Genannt <[email protected]>

Signed-off-by: Jonas Genannt <[email protected]>
---
Local-branch: feature/master/6530
 lib/puppet/provider/package/gem.rb     |    2 ++
 lib/puppet/type/package.rb             |   12 ++++++++++++
 spec/unit/provider/package/gem_spec.rb |   11 +++++++++++
 3 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/lib/puppet/provider/package/gem.rb 
b/lib/puppet/provider/package/gem.rb
index 19414ce..ee95278 100755
--- a/lib/puppet/provider/package/gem.rb
+++ b/lib/puppet/provider/package/gem.rb
@@ -72,6 +72,8 @@ Puppet::Type.type(:package).provide :gem, :parent => 
Puppet::Provider::Package d
     command << "-v" << resource[:ensure] if (! resource[:ensure].is_a? Symbol) 
and useversion
     # Always include dependencies
     command << "--include-dependencies"
+    command << "--no-ri" if resource[:doc] == :false
+    command << "--no-rdoc" if resource[:doc] == :false
 
     if source = resource[:source]
       begin
diff --git a/lib/puppet/type/package.rb b/lib/puppet/type/package.rb
index d73d90d..2c5ada5 100644
--- a/lib/puppet/type/package.rb
+++ b/lib/puppet/type/package.rb
@@ -243,6 +243,18 @@ module Puppet
         or it should be in `/var/sadm/install/admin`."
     end
 
+    newparam(:doc) do
+      desc "This is option is currently used only by the gem provider.
+        It will control if the gem generates the rdoc and ri documentation
+        for the package. Default is, to generate the documentation."
+
+      newvalues(:true, :false)
+
+      defaultto do
+        true
+      end
+    end
+
     newparam(:responsefile) do
       desc "A file containing any necessary answers to questions asked by
         the package.  This is currently used on Solaris and Debian.  The
diff --git a/spec/unit/provider/package/gem_spec.rb 
b/spec/unit/provider/package/gem_spec.rb
index 7c0d34d..43afcc0 100644
--- a/spec/unit/provider/package/gem_spec.rb
+++ b/spec/unit/provider/package/gem_spec.rb
@@ -26,6 +26,17 @@ describe provider_class do
       @provider.stubs(:resource).returns @resource
     end
 
+    it "should use --no-ri and --no-rdoc when docs are disabled" do
+      @resource.stubs(:[]).with(:doc).returns :false
+      @provider.expects(:execute).with { |args| args[3] == "--no-ri" }.returns 
""
+      @provider.install
+    end
+
+    it "should generate docs without :doc parameter set" do
+      @provider.expects(:execute).with { |args| !args.include?("--no-ri") and 
!args.include?("--no-rdoc") }.returns ""
+      @provider.install
+    end
+
     it "should use the path to the gem" do
       provider_class.stubs(:command).with(:gemcmd).returns "/my/gem"
       @provider.expects(:execute).with { |args| args[0] == "/my/gem" }.returns 
""
-- 
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 [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en.

Reply via email to