Initial implementation and spec tests.

ruby version removed in favour of using travis to test stuff.