rescue any error invoking external commands attempting to determine OS_VERSION; just...
[arvados.git] / lib / google / api_client / environment.rb
1 # Copyright 2010 Google Inc.
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 #      http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14
15
16 module Google
17   class APIClient
18     module ENV
19       OS_VERSION = begin
20         if RUBY_PLATFORM =~ /mswin|win32|mingw|bccwin|cygwin/
21           # TODO(bobaman)
22           # Confirm that all of these Windows environments actually have access
23           # to the `ver` command.
24           `ver`.sub(/\s*\[Version\s*/, '/').sub(']', '').strip
25         elsif RUBY_PLATFORM =~ /darwin/i
26           "Mac OS X/#{`sw_vers -productVersion`}"
27         else
28           `uname -sr`.sub(' ', '/')
29         end
30       rescue Exception
31         RUBY_PLATFORM
32       end
33     end
34   end
35 end