Class: Monkey::Computer
- Inherits:
-
Object
- Object
- Monkey::Computer
- Defined in:
- lib/helpers/computer.rb
Class Method Summary collapse
- .architecture ⇒ Object
- .bit32? ⇒ Boolean
- .bit64? ⇒ Boolean
- .ip ⇒ Object
- .name ⇒ Object
- .os ⇒ Object
- .os_major_version ⇒ Object
- .os_version_number ⇒ Object
- .osx? ⇒ Boolean
- .windows? ⇒ Boolean
Class Method Details
.architecture ⇒ Object
61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/helpers/computer.rb', line 61 def self.architecture if windows? os_arch = ENV['PROCESSOR_ARCHITECTURE'] return :bit64 if os_arch.include? '64' return :bit32 if os_arch.include? '86' elsif mac? os_arch = `uname -a` return :bit64 if os_arch.include? '64' return :bit32 if os_arch.include? 'i386' end end |
.bit32? ⇒ Boolean
77 78 79 |
# File 'lib/helpers/computer.rb', line 77 def self.bit32? (self.architecture == :bit32) end |
.bit64? ⇒ Boolean
73 74 75 |
# File 'lib/helpers/computer.rb', line 73 def self.bit64? (self.architecture == :bit64) end |
.ip ⇒ Object
50 51 52 53 54 55 56 57 58 59 |
# File 'lib/helpers/computer.rb', line 50 def self.ip orig, Socket.do_not_reverse_lookup = Socket.do_not_reverse_lookup, true # turn off reverse DNS resolution temporarily UDPSocket.open do |s| s.connect '64.233.187.99', 1 s.addr.last end ensure Socket.do_not_reverse_lookup = orig end |
.name ⇒ Object
45 46 47 |
# File 'lib/helpers/computer.rb', line 45 def self.name Socket.gethostname end |
.os ⇒ Object
6 7 8 9 10 |
# File 'lib/helpers/computer.rb', line 6 def self.os return :windows if /cygwin|mswin|mingw|bccwin|wince|emx/ =~ RUBY_PLATFORM return :osx if /darwin/ =~ RUBY_PLATFORM return nil end |
.os_major_version ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/helpers/computer.rb', line 30 def self.os_major_version ver = os_version_number return :windows8 if (ver.include? '6.3') || (ver.include? '6.2') return :windows7 if ver.include? '6.1' return :windowsvista if ver.include? '6.0' return :windowsxp if (ver.include? '5.2') || (ver.include? '5.1') return :windows2000 if ver.include? '5.00' return :osxmavericks if ver.include? '10.9' return :osxmountainlion if ver.include? '10.8' return :osxlion if ver.include? '10.7' return :osxsnowleopard if ver.include? '10.6' return :osxleopard if ver.include? '10.5' end |
.os_version_number ⇒ Object
22 23 24 25 26 27 28 |
# File 'lib/helpers/computer.rb', line 22 def self.os_version_number if windows? win_ver = `ver` return win_ver.scan(/[\d.]+/).first end return `sw_vers -productVersion` if mac? end |
.osx? ⇒ Boolean
16 17 18 |
# File 'lib/helpers/computer.rb', line 16 def self.osx? os == :osx end |
.windows? ⇒ Boolean
12 13 14 |
# File 'lib/helpers/computer.rb', line 12 def self.windows? os == :windows end |