merb-gen is a part of the Merb More package. It provides application, plugin, and component generators for Merb.
To generate directory structure for a new merb app, run merb-gen app
<app-name>. For instance,
merb-gen app foo would
create a new foo merb stack application inside of the foo directory. Merb
stack sets up commonly used Merb and DataMapper gems to quickly get you
merb-gen core to generate minimal merb-core application
with full layout. Use
merb-gen flat to generate a flattened
application (very simple directory structure) and
very-flat to generate a single file application.
To generate a new merb plugin, run merb-gen plugin <plugin_name>.
To see what generators are available, run merb-gen generators.
There are two ways of adding generators, depending on how the generators are intended to be used. The first way is by adding adding the generator via Merb.add_generators, and specifying the location of any generators.
.add_generators File.join(File.dirname(__FILES__), 'generators', 'my_generator.rb')
This method has some advantages:
it allows you to load generators only when your plugin is required in the application
it allows you to load generators from inside the application itself
However, it also has a disadvantage: it is impossible this way to add generators whether the plugin is loaded or not, just by virtue of the gem being installed. This is where the second way comes in: A 'Generators' file is added to the root of the project (like a Rakefile), it should look something like this:
scope "merb-gen" do .add_generators File.join(File.dirname(__FILES__), 'generators', 'my_generator.rb') end