How to create a Generator (Application Generator) ====================================== 1. DONE - Run the generator: script/generate application_generator myapp 2. Using the generated test class, assert what directories, files, classes etc should be generated. 3. Add these files into the app_genearators/myapp/templates folder. Your files can use ERb (that is, <%= ... %>). 4. Specify who the files in /templates are copied/templated at generation time within app_genearators/myapp/myapp_generators.rb's #manifest method. Use m.file for files to copy over. Use m.template for files containing ERb. Create attr_reader accessors for any variables your templates need access to. 5. Run unit tests. 6. If your application generator uses other generators (called 'dependencies') e.g. (m.dependency "generator-from-rubygems", [arg1, arg2], options) then you must add this generators' scope into the executable bin/myapp. For example, if you wanted to use a rubygems and/or rails generator, then replace the use_application_sources! call in bin/myapp: RubiGen::Base.use_application_sources! :rubygems, :rails Without this, RubiGen will not be able to find your dependent generators. 7. Update your Manifest.txt with the new files (rake manifest:refresh) 8. Build and install your RubyGem locally. Run: rake install_gem 9. Go to a directory where you can create new test apps. 10. Run 'myapp [path]' and your application skeleton will be created. See this message again using the -h/--help option.