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

This commit is contained in:
Ethan 2012-01-30 22:33:03 -05:00
parent 80c41c99fc
commit b866e07d70
1 changed files with 13 additions and 9 deletions

View File

@ -16,15 +16,19 @@
module Google module Google
class APIClient class APIClient
module ENV module ENV
OS_VERSION = if RUBY_PLATFORM =~ /mswin|win32|mingw|bccwin|cygwin/ OS_VERSION = begin
# TODO(bobaman) if RUBY_PLATFORM =~ /mswin|win32|mingw|bccwin|cygwin/
# Confirm that all of these Windows environments actually have access # TODO(bobaman)
# to the `ver` command. # Confirm that all of these Windows environments actually have access
`ver`.sub(/\s*\[Version\s*/, '/').sub(']', '').strip # to the `ver` command.
elsif RUBY_PLATFORM =~ /darwin/i `ver`.sub(/\s*\[Version\s*/, '/').sub(']', '').strip
"Mac OS X/#{`sw_vers -productVersion`}" elsif RUBY_PLATFORM =~ /darwin/i
else "Mac OS X/#{`sw_vers -productVersion`}"
`uname -sr`.sub(' ', '/') else
`uname -sr`.sub(' ', '/')
end
rescue Exception
RUBY_PLATFORM
end end
end end
end end