public
Description: Yet Another Ruby Generator: Customize existing project generators to fit your personality.
Homepage:
Clone URL: git://github.com/rmm5t/yarg.git
yarg /
name age message
file .gitignore Thu Nov 13 13:14:56 -0800 2008 Switched to using echoe for rake tasks [rmm5t]
file Manifest Thu Nov 13 13:14:56 -0800 2008 Switched to using echoe for rake tasks [rmm5t]
file README.markdown Mon May 25 17:35:32 -0700 2009 Added a note to the README about abandoning the... [rmm5t]
file Rakefile Thu Nov 13 13:14:56 -0800 2008 Switched to using echoe for rake tasks [rmm5t]
directory bin/ Wed Nov 12 13:21:55 -0800 2008 Give the script rails support [rmm5t]
directory lib/ Tue Nov 18 10:31:21 -0800 2008 Version bump to 0.1.3 [rmm5t]
directory test/ Thu Nov 20 20:48:01 -0800 2008 minor test cleanup [rmm5t]
file yarg.gemspec Tue Nov 18 10:31:21 -0800 2008 Version bump to 0.1.3 [rmm5t]
README.markdown

yarg: Yet Another Ruby Generator

Yarg is Yet Another Ruby Generator. It allows you to customize existing project generators to fit your personality or common scaffolding. In other words, it allows you to bootstrap new projects without the typical mundane setup.

While I still have a fondness for the approach taken here, I've abandoned this project (for now). My original need for this project was mostly fulfilled when Rails Templates were introduced in Rails 2.3. When you can't beat 'em, join 'em.

Yarg is still in its infancy. It currently works for rails generation, but use it at your own risk.

Usage

Install:

$ sudo gem install rmm5t-yarg --source http://gems.github.com

Configure by placing a ~/.yarg file in your home directory. Here's a simple example

Yarg::Rails.new do |rg|
  rg.scm :git
  rg.delete "public/index.html"
  rg.plugin "git://github.com/thoughtbot/shoulda.git"
end

Here's another example:

Yarg::Rails.new do |rg|
  rg.scm :git, :using => :submodules
  rg.template "~/.yarg.d/rails"
  rg.delete "public/index.html"
  rg.delete "public/dispatch.*"
  rg.plugin "git://github.com/thoughtbot/shoulda.git"
  rg.plugin "git://github.com/nex3/haml.git"
  rg.plugin "git://github.com/rmm5t/strip_attributes.git"
  rg.plugin "git://github.com/github/hubahuba.git"
  rg.freeze :version => :edge
end

Afterwards, you should be able to launch a new Rails project easily:

$ yarg my_new_project

TODO

  • Add better option parsing support in script (including a template name option)
  • Add better handling of error conditions
  • Add rails gem freezing support
  • Add newgem support
  • Add merb support
  • Add webby support
  • Add staticmatic support
  • Add svn support (?)

Other

MIT License

Copyright (c) 2008, Ryan McGeary (ryanonruby -[at]- mcgeary [dot] org)