Ore

Description

Ore is a flexible Ruby project generator. Unlike other Ruby project generators, Ore provides many builtin templates and allows custom templates to be installed from Git repositories.

Features

SCMs

Ore supports generating Git, Mercurial and SubVersion enabled projects.

$ mine my-project [--git | --hg]

Gemspec

Ore generates a pure-Ruby gemspec by default. Ore can also generate a gemspec.yml file.

Tasks

Ore supports generating projects using Gem::Tasks, Bundler::GemHelper and even Gem::PackageTask.

$ mine my-project [--rubygems-tasks | --bundler-tasks  | --gem-package-task]

Bundler

Ore can also generate a Bundler project.

$ mine my-project --bundler

Markup

Ore supports RDoc, Markdown and Textile markup.

$ mine my-project [--rdoc | --markdown | --textile]

Documentation

Ore supports generating projects with RDoc or YARD documentation.

$ mine my-project [--rdoc | --yard]

Testing

Ore supports generating RSpec, MiniTest or Test::Unit tests.

$ mine my-project [--test-unit | --mini-test | --rspec]

Custom Templates

Additional templates can also be installed from Git:

$ ore install git://github.com/ruby-ore/rbenv.git
$ mine my-project --rbenv

Requirements

Install

$ gem install ore

Synopsis

Generate a new project:

$ mine my_project

Generate a new customized project:

$ mine my_project --bundler --rspec --yard

Generate a new project using previously installed templates:

$ mine my_project --bundler --rspec --yard --templates rbenv

Set your github username, so mine can generate GitHub project URLs:

$ git config github.user foobar
$ mine my_project

Install a custom template:

$ ore install git://github.com/ruby-ore/rbenv.git

List installed templates:

$ ore list

Remove a previously installed template:

$ ore remove rbenv

Add default generator options to ~/.ore/options.yml:

gemspec_yml:    true
rubygems_tasks: true
rspec:          true
yard:           true
markdown:       true
authors:
  - Alice
email: [email protected]

License

Copyright (c) 2010-2012 Hal Brodigan

See LICENSE for license information.