dcarrera/bplot — pull request #2 by blatyo (2012-09-21 00:00:12+00:00)
Title: Add tests and refactor code into discrete roles.

Process was split out and made its own object to encapsulate the communication
with the actual GNU Plot process. Doing this also allows the sharing of the
same plot process between multiple BPlots. Plot, DataSet, Settings, and Styles
were also separated into domain objects to encapsulate their behavior and
define what their public facing API is. I tried as best I could to keep the
documentation up to date as I did these refactorings, but I've likely missed
some places.

Tests were also added for each of the components. This should aid in preventing
regressions when new features are added. A .travis.yml was also added so that
this project can automatically be tested on every commit by Travis CI
(http://travis-ci.org/).

Future Improvements:
* DataSet was setup such that it can accept arbitrarily many dimensions. This
should aid in adding surface plots.
* Plot was implemented in such a way that it should be trivial to extend to
generate a surface plot.
* Multiplot may make sense as its own domain object.
* Style could ideally be able to parse the String passed to it to generate the
style hash. That way, when setting styles via the methods on the style object
it doesn't need to throw away the string styles passed to it's constructor.

Let me know if there's anything that needs to be fixed before this can be merged.