gemspec: update base data

after this commit, we can actually build a gem

Signed-off-by: Paul Morgan <jumanjiman@gmail.com>
Rakefile: add default task to list tasks

Signed-off-by: Paul Morgan <jumanjiman@gmail.com>
Rakefile: use bundler to bootstrap clean environment

* use a clean environment when doing dev on this gem
* provide helpful instructions to somebody who is not a ruby expert

Signed-off-by: Paul Morgan <jumanjiman@gmail.com>
gemspec: add rspec dev dependencies

Runtime deps should not be as strict as dev deps since
this gem will be used as a dev dependency for other repos.

Signed-off-by: Paul Morgan <jumanjiman@gmail.com>
spec: add minimal spec_helper

This initial spec_helper:

* framework for requiring gems in every spec test
* show all spec failures in CI console output
* profile slowest examples in CI console output
* protect against any test that may add environment variables

Signed-off-by: Paul Morgan <jumanjiman@gmail.com>
rspec: mock with mocha

* add specific gems as dev dependencies
* configure rspec to use mocha

Signed-off-by: Paul Morgan <jumanjiman@gmail.com>
Rakefile: enable spec examples

After this commit, we can add rspec unit tests.

Signed-off-by: Paul Morgan <jumanjiman@gmail.com>
rspec: add unit test for gem version

Add trivial unit test to demonstrate that the
test harness works:

    JumanjimanSpecHelper::VERSION
      should be a kind of String

Signed-off-by: Paul Morgan <jumanjiman@gmail.com>
travis: run `rake spec' for each push

Signed-off-by: Paul Morgan <jumanjiman@gmail.com>
rspec: provide a env var shared context as library

In some projects, I may set environment variables within rspec
examples. This shared context...

    JumanjimanSpecHelper::EnvironmentContext
      is accessible as JumanjimanSpecHelper::EnvironmentContext
      when included
        preserves environment variable created before example
        discards environment variable created within example
      when not included
        preserves environment variable created before example
        preserves environment variable created within example

Normally, I'd include this context within spec/spec_helper.
I cannot include it within _this_ project's spec_helper or
else we could not rspec the lib!

Signed-off-by: Paul Morgan <jumanjiman@gmail.com>