rescue any error invoking external commands attempting to determine OS_VERSION; just return RUBY_PLATFORM on failure.

This commit is contained in:
Ethan committed 2012-02-22 03:31:17 -05:00
1 parent 80c41c99fc
commit b866e07d70
1 file changed
+13 -9
+13 -9
View File
@@ -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