# File lib/puppet/module_tool/applications/generator.rb, line 9 def initialize(full_module_name, options = {}) begin @metadata = Metadata.new(:full_module_name => full_module_name) rescue ArgumentError raise "Could not generate directory #{full_module_name.inspect}, you must specify a dash-separated username and module name." end super(options) end
# File lib/puppet/module_tool/applications/generator.rb, line 69 def destination @destination ||= Pathname.new(@metadata.dashed_name) end
# File lib/puppet/module_tool/applications/generator.rb, line 22 def get_binding binding end
# File lib/puppet/module_tool/applications/generator.rb, line 26 def run if destination.directory? raise ArgumentError, "#{destination} already exists." end Puppet.notice "Generating module at #{Dir.pwd}/#{@metadata.dashed_name}" files_created = [] skeleton.path.find do |path| if path == skeleton destination.mkpath else node = Node.on(path, self) if node node.install! files_created << node.target else Puppet.notice "Could not generate from #{path}" end end end # Return an array of Pathname objects representing file paths of files # and directories just generated. This return value is used by the # module_tool face generate action, and displayed on the console. # # Example return value: # # [ # #<Pathname:puppetlabs-apache>, # #<Pathname:puppetlabs-apache/tests>, # #<Pathname:puppetlabs-apache/tests/init.pp>, # #<Pathname:puppetlabs-apache/spec>, # #<Pathname:puppetlabs-apache/spec/spec_helper.rb>, # #<Pathname:puppetlabs-apache/spec/spec.opts>, # #<Pathname:puppetlabs-apache/README>, # #<Pathname:puppetlabs-apache/Modulefile>, # #<Pathname:puppetlabs-apache/metadata.json>, # #<Pathname:puppetlabs-apache/manifests>, # #<Pathname:puppetlabs-apache/manifests/init.pp" # ] # files_created end
# File lib/puppet/module_tool/applications/generator.rb, line 18 def skeleton @skeleton ||= Skeleton.new end