repackaged with bundler, tested with Ruby 1.8, 1.9, and 2.0