Switch to Apache License, Version 2.0

I considered using GPLv3 or another copyleft license,
but I don't want people to be afraid to use this code
in their projects. In my opinion, somebody who finds
my code useful will probably contribute their changes
back to this project because doing so is usually in
the best interest of the contributor.

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

* move contributing instructions here
* add lightweight contributor agreement

If a contributing doc exists in the repo,
Github links to it from a new Pull Request
and new issue form.

Signed-off-by: Paul Morgan <jumanjiman@gmail.com>
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:

* use local git repo for libraries from this gem when
  running rspec within this repo
* framework for requiring gems in every spec test
* show all spec failures in CI console output
* profile slowest examples in CI console output

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>
bump version

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