dmitriy-kiriyenko/SCV

View on GitHub
README.md

Summary

Maintainability
Test Coverage
[![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/dmitriy-kiriyenko/SCV)

**"SCV ready to go, sir!"** -- *some scv*. 

A set of thor scripts with most general tasks to administer Rails applications.

## Installation ##

Into Gemfile:

```ruby
gem 'scv', :group => 'development', :require => false
```

## Usage ##

### scv config ###

It's a common pattern, especially for open source projects not to keep development configuration files in version control, keeping their example versions instead. The most common is config/database.yml.example. While I'm going to support this pattern in future, I currently suggest another one, which is keeping all example configuration files in config/examples, which structure repeats config directory. For support of this pattern there is a setup:config script in this set. Run

```console
scv config
```

to copy all example configuration files to their natural locations. You may use `--force`, `--skip`, `--quiet` and `--pretend` options as with usual Rails generators. If you append any of the file names with `.tt` it will be considered as template, evaluated and placed to the right place without `.tt`.

### scv db ###

Pretty often you need to create a database, tune it's schema to current and load seeds after checking out a new application. I advice you to use a

```console
scv db
```

for it. Available modificators are:

* `--drop` or `-d` - drop database before creation. Defaults to false.
* `--no-seeds` - don't run `db:seed`

The `no-` options are also available with `--skip` prefix as usual (e.g., `--skip-test-clone`)

### scv populate ###

Again, pretty often you need to populate database with a test data, needed for development. I suggest a solution when near `db/seeds.rb` file you place `db/populate.rb` with the similar purpose and content, but containing data you'd like to insert to database for development. If you do so, you may use

```console
scv populate
```

to clean the database, load `seeds.rb` and `populate.rb` without dropping the database. There is an option `--no-truncate` to prevent database cleanup, that is used from meta tasks like `bootstrap` or `reset`.

### scv bootstrap ###

`scv bootstrap` should be used after initial checkout of application. It does `scv config --force`, then `scv db --no-seed` (because `scv populate` is expected to be run), and then, yeah, `scv populate --no-truncate`.

### scv reset ###

In the meantime, `scv reset` should be used when you wish to reset your database. It does `scv db --drop --no-seed`, then `scv populate --no-truncate`. This command can also be executed by just running `scv db`.

## How it looks ##

[![Space Construction Vehicle](http://i.minus.com/iXECZqiT0Ab7h.jpeg)](http://eu.battle.net/sc2/en/game/unit/scv)