README.md in rodimus-0.1.1 vs README.md in rodimus-0.1.2
- old
+ new
@@ -29,10 +29,36 @@
$ gem install rodimus
## Usage
-See the examples directory for the quickest path to success.
+tl;dr: See the examples directory for the quickest path to success.
+
+A transformation is an operation that consists of many steps. Each step may
+manipulate the data in some way. Typically, the first step is reserved for
+reading from your data source, and the last step is used to write to the new
+destination.
+
+In Rodimus, you create a transformation object, and then you add
+one or more steps to its array of steps. You typically create steps by writing
+your own classes that include the Rodimus::Step mixin. When the transformation is
+subsequently run, a new process is forked for each step. All processes are
+connected together using pipes except for the first and last steps (those being the
+source and destination steps). Each step then consumes rows of data from its
+incoming pipe and performs some operation on it before writing it to the
+outgoing pipe.
+
+There are several methods on the Rodimus::Step mixin that are able to be
+overridden for custom processing behavior before, during, or after the each
+row is handled. If those aren't enough, you're also free to manipulate the
+input/output objects (i.e. to redirect to standard out).
+
+The Rodimus approach is to provide a minimal, flexible framework upon which
+custom ETL solutions can be built. ETL is complex, and there tend to be many
+subtle differences between projects which can make things like establishing
+conventions and encouraging code reuse difficult. Rodimus is an attempt to
+codify those things which are probably useful to a majority of ETL projects
+with as little overhead as possible.
## Contributing
1. Fork it ( http://github.com/nevern02/rodimus/fork )
2. Create your feature branch (`git checkout -b my-new-feature`)