0.0
No commit activity in last 3 years
No release in over 3 years
Should your app run in the Bundler sandbox? Well then make sure it is, let bundler-bouncer kick you out of your app if you forgot to `bundle exec` it. Prevents absurdly difficult to find bugs, prevents you from propagating your system with bad data, eases the mind.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.0.15
~> 2.6.0
 Project Readme

bundler-bouncer

Description

Should your app run in the Bundler sandbox? Well then make sure it is, let bundler-bouncer kick you out of your app if you forgot to bundle exec it. Prevents absurdly difficult to find bugs, prevents you from propagating your system with bad data, eases the mind.

In the Pragmatic Programmer, Dave Thomas and Andy Hunt say to Crash Early, because "The alternative may be to continue, writing corrupted data to some vital database" which, I did (well, it wasn't vital), because I wasn't using Bundler on one rake task. Then, later, when I tried to pull the data back out with Bundler running, it was invalid, sending me on a 2 day goose chase trying to figure out what was wrong. Don't let yourself get in my situation, protect your app with a bouncer.

Features

If you set the environment variable USE_BUNDLER to 'no', it will warn you that it isn't using Bundler, but won't kick you out. This enables you to use tools like rubygems-bundler.

Usage

Given a Gemfile that looks like this:

source :rubygems
gem 'bundler-bouncer', '=0.1.0'

(don't forget to bundle install)

And a main.rb that looks like this:

require "bundler/bouncer"
puts "hello world"

When you run bundle exec ruby main.rb, your app will print hello world, just like you'd expect.

But when you forget, and run ruby main.rb You will get bounced out:

No dice, pal. Try again when you can remember to `bundle exec`.

Recommendation

Stick it at the top of your Rakefile.

Install

$ gem install bundler-bouncer