Please review pull request #19: Add options to generate opened by (zenchild)

Description:

This is basically a feature request for the 'generate' method. I prefer to use the generator from rspec-puppet so I've added the following options:

Add option to generate RSpec via rspec-puppet (-R).
Add option to exclude RSpec tests (-X).

Let me know if this looks OK. If not, no big deal...

Cheers,

Dan Wanek

  • Opened: Thu Apr 26 15:35:21 UTC 2012
  • Based on: puppetlabs:master (f37170eff4cf2fea876c0c754cae71fddc0d6989)
  • Requested merge: zenchild:master (db9d9f80aea99da47ad161fc9ac3784de74191c0)

Diff follows:

diff --git a/lib/puppet/module/tool/applications/generator.rb b/lib/puppet/module/tool/applications/generator.rb
index 1b3a5a1..ee0a449 100644
--- a/lib/puppet/module/tool/applications/generator.rb
+++ b/lib/puppet/module/tool/applications/generator.rb
@@ -33,6 +33,8 @@ def run
           if path == skeleton
             destination.mkpath
           else
+            next if (path.fnmatch?('*/spec*') &&
+                     (@options[:exclude_spec] || @options[:rspec_puppet_generator]))
             node = Node.on(path, self)
             if node
               node.install!
@@ -42,6 +44,13 @@ def run
             end
           end
         end
+        if(@options[:rspec_puppet_generator])
+          old_pwd = Dir.pwd
+          Dir.chdir destination
+          require 'rspec-puppet'
+          RSpec::Puppet::Setup.run
+          Dir.chdir old_pwd 
+        end
       end
 
       def destination
diff --git a/lib/puppet/module/tool/cli.rb b/lib/puppet/module/tool/cli.rb
index 52fb306..d063417 100644
--- a/lib/puppet/module/tool/cli.rb
+++ b/lib/puppet/module/tool/cli.rb
@@ -19,7 +19,9 @@ def version
     say Puppet::Module::Tool.version
   end
 
-  desc "generate USERNAME-MODNAME", "Generate boilerplate for a new module"
+  desc "generate USERNAME-MODNAME [OPTIONS]", "Generate boilerplate for a new module"
+  method_option :exclude_spec, :aliases => '-X', :type => :boolean, :desc => "Exclude RSpec tests."
+  method_option :rspec_puppet_generator, :aliases => '-R', :type => :boolean, :desc => "Use rspec-puppet generator."
   method_option_repository
   def generate(name)
     Puppet::Module::Tool::Applications::Generator.run(name, options)

    

--
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