Introduction

rgentpl is a Ruby library to generate a custom skeleton app.

Build Status

It's based on a great toolkit for building powerful command-line interfaces, Thor, and main goal is cover some basic good practices.

Directories

Application file structure (similar to generated).

bin/
  rgentpl

config/
  environments/
  initializers/

coverage/

doc/
  api/

lib/
  rgentpl/
    boot/
    command/
    core/
    core_ext/
    exception/

log/
  development.log
  test.log
  production.log
  yard.log

spec/

tasks/

tmp/

Installation

As a command line application.

$ git clone https://github.com/jatap/rgentpl.git

As a library/gem.

// Install on current gemset
$ gem install 'rgentpl'

// Or inside a Gemfile
gem 'rgentpl'
$ bundle install

Usage as a command line application

Getting help.

$ rgentpl
$ rgentpl --help

Generate app with default values.

$ rgentpl generate my_app

Generate app updating root path.

$ rgentpl generate my_app -p /root/path/to/app

Generate app updating root path and ctags binary path.

$ which ctags

$ rgentpl generate my_app -p /root/path/to/app -t /path/to/ctags

Options:

  • -p root path

Default value: /tmp

  • -t ctags binary path

Default value: /usr/local/bin/ctags

Environments:

development: default environment.

Setting production

$ TEMPLATE_ENV = production rgentpl

or test environment.

$ TEMPLATE_ENV = test rgentpl

Usage as a library

require 'rgentpl'