Feature #14386
Updated by k0kubun (Takashi Kokubun) about 2 years ago
I sometimes write code like: ~~~ ruby system('git pull origin master') || raise('Failed to execute: git pull origin master') system('bundle check || bundle install') || raise('Failed to execute: bundle check || bundle install') ~~~ Using rake, we can simplify the above code to the following one, but there's no way to do that outside Rakefile. (Note that I just want to do the same thing as "bash -e", the error message is actually not important.) ~~~ ruby sh 'git pull origin master' sh 'bundle check || bundle install' ~~~ If we add the following option, we can simplify such code even when we're not on a rake task. I'm not sure whether it's a good name or not though. ~~~ ruby system 'git pull origin master', exception: assert_status: true system 'bundle check || bundle install', exception: assert_status: true # => RuntimeError: Command failed with status (1): bundle check || bundle install ~~~