return_bang implements non-local exits for methods. As a bonus, you also get exception handling that ignores standard Ruby's inflexible begin; rescue; ensure; end syntax. Use return_bang to exit back to a processing loop from deeply nested code, or just to confound your enemies *and* your friends! What could possibly go wrong?
Gemfile gem 'return_bang', '~> 1.1'
install gem install return_bang