class Monkey::Computer

Public Class Methods

architecture() click to toggle source
# 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?() click to toggle source
# File lib/helpers/computer.rb, line 77
def self.bit32?
  (self.architecture == :bit32)
end
bit64?() click to toggle source
# File lib/helpers/computer.rb, line 73
def self.bit64?
  (self.architecture == :bit64)
end
ip() click to toggle source

From coderrr.wordpress.com/2008/05/28/get-your-local-ip-address/

# 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() click to toggle source
# File lib/helpers/computer.rb, line 45
def self.name
  Socket.gethostname
end
os() click to toggle source
# 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() click to toggle source
# 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() click to toggle source
# 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?() click to toggle source
# File lib/helpers/computer.rb, line 16
def self.osx?
  os == :osx
end
windows?() click to toggle source
# File lib/helpers/computer.rb, line 12
def self.windows?
  os == :windows
end