Project

General

Profile

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 
 ~~~

Back