Project Templater
V0.3.3
Installation
gem install project_templater
Adds the project_templater executable.
Usage
project_templater {generator} {path}
Templates are listed within lib/generators.
Will default to the PWD if you don't define a path.
Examples
project_templater sinatra_basic
Run the sinatra_basic generator and output to the current directory
project_templater sinatra_basic foo/
Run the sinatra_basic generator and output to the pwd/foo/ directory.
Available Generators
sinatra_basicjs_projectruby_projecthtml_protojekyll_basic
Adding a Generator
These exist within lib/generators. Create a new .rb file. The class must extend from Generator, and you need to define an instance method run.
You have two methods available to you, make_file and make_dir.
The best way to do it is to copy an existing one - they are all in lib/generators.
Define a run method that will be called. There are two methods available:
make_filecan be called with just the file to create, and optionally a block. Whatever is returned from the block is then stored as the contents of the file.make_dirwill create a new directory.
You can also define a post_install method that is run after the run method has. You also have access to the @base variable, which is the directory the generator was run in.
Similarly, there is a pre_install method which is run just before run. Again, it has access to @base.
Changelog
0.3.3
- tidy up some internal code
0.3.2
- logs to the terminal when it creates a file or folder
0.3.1
- No nasty exception if the generator doesn't exist.
- run
project_templaterwithout arguments to see a list of available generators post_installcommand line output is now shown
0.3.0
- Remove all references to
nodefetch - Fix Sinatra generator. Makes views directory in right place and now sets up layout.erb properly.
0.2.1
- release date within gemspec was incorrect.
0.2.0
- added
jekyll_basicgenerator - add
pre_installmethod for generators
0.1.2
- added
html_protogenerator, designed for quick HTML prototypes
0.1.1
- updated
ruby_basicgenerator so it creates a couple more folders
0.1.0
- initial release