From: Suraj Kurapati Date: 2011-10-12T14:54:41+09:00 Subject: [ruby-core:40111] [Ruby 1.9 - Feature #3631] [PATCH] lib/rake.rb: allow passing nil to sh() and ruby() Issue #3631 has been updated by Suraj Kurapati. I submitted this patch directly to the Rake project: https://github.com/jimweirich/rake/pull/79 If it is accepted there, then perhaps someday it will find its way back into ruby-core. One can only dream. :) ---------------------------------------- Feature #3631: [PATCH] lib/rake.rb: allow passing nil to sh() and ruby() http://redmine.ruby-lang.org/issues/3631 Author: Suraj Kurapati Status: Assigned Priority: Normal Assignee: Nobuyoshi Nakada Category: lib Target version: =begin This patch allows you to pass nil values to Rake's sh() and ruby() methods. This is useful when you want to conditionally pass arguments to the child program you are executing. For example, suppose you want to pass '-v' to a child program if the user ran Rake in tracing mode (rake --trace), but not otherwise: sh 'asciidoc', ('-v' if Rake.application.options.trace), 'input.txt' Without this patch, you have to carefully construct an arguments array so that it does not contain nil values: args = [] args << '-v' if Rake.application.options.trace args << 'input.txt' sh 'asciidoc', *args Sadly, this becomes very tiresome when performed more than a few times. Thanks for your consideration. =end -- http://redmine.ruby-lang.org