automatthew / rakegen

Rake extension for generating and updating projects from templates

This URL has Read+Write access

name age message
file CHANGELOG Loading commit data...
file LICENSE
file Manifest
file README
file Rakefile
directory lib/
file rakegen.gemspec
directory test/
README
= Rakegen

Rakegen is a Rake extension for generating and updating projects from templates.  Give Rakegen a source and a target, 
and it creates a rake task that will make the necessary directories and copy the template files to the target.  Rakegen 
processes .erb files by default, but you can register a template processing lambda for any file extension.  Because 
Rakegen is Rake-based, you can add your own dependencies and actions to any target file.

== Usage

  generator = Rakegen.new("generate:app") do |gen|
    gen.source = "templates/application"
    gen.target = "/Users/matthew/dev/waves/thingy"
    gen.excludes << "**/*.yaml"
    gen.template_assigns = {:application_name => "thingy"}
    gen.executables = %w{ bin/waves-console  bin/waves-server }
  end
  
This will define a task named, naturally enough, "generate:app".  If you define the generator in a rakefile, you can run 
it with <tt>rake generate:app</tt>.  If you're building your own executable, you can call it from Ruby:

  generator.invoke

Rakegen asks you before clobbering existing files.