From b866e07d700d9c204e81d5d5aa9a91adead5ea86 Mon Sep 17 00:00:00 2001 From: Ethan Date: Mon, 30 Jan 2012 22:33:03 -0500 Subject: [PATCH] rescue any error invoking external commands attempting to determine OS_VERSION; just return RUBY_PLATFORM on failure. --- lib/google/api_client/environment.rb | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/lib/google/api_client/environment.rb b/lib/google/api_client/environment.rb index e5abe9334..9faa28f7d 100644 --- a/lib/google/api_client/environment.rb +++ b/lib/google/api_client/environment.rb @@ -16,15 +16,19 @@ module Google class APIClient module ENV - OS_VERSION = if RUBY_PLATFORM =~ /mswin|win32|mingw|bccwin|cygwin/ - # TODO(bobaman) - # Confirm that all of these Windows environments actually have access - # to the `ver` command. - `ver`.sub(/\s*\[Version\s*/, '/').sub(']', '').strip - elsif RUBY_PLATFORM =~ /darwin/i - "Mac OS X/#{`sw_vers -productVersion`}" - else - `uname -sr`.sub(' ', '/') + OS_VERSION = begin + if RUBY_PLATFORM =~ /mswin|win32|mingw|bccwin|cygwin/ + # TODO(bobaman) + # Confirm that all of these Windows environments actually have access + # to the `ver` command. + `ver`.sub(/\s*\[Version\s*/, '/').sub(']', '').strip + elsif RUBY_PLATFORM =~ /darwin/i + "Mac OS X/#{`sw_vers -productVersion`}" + else + `uname -sr`.sub(' ', '/') + end + rescue Exception + RUBY_PLATFORM end end end