module Browser::Platform

def android?

Detect if browser is Android.
def android?
  !!(ua =~ /Android/ && !opera?)
end

def blackberry10?

Detect if is BlackBerry 10.
def blackberry10?
  !!(ua =~ /BB10/)
end

def blackberry4?

Detect if is BlackBerry 4.
def blackberry4?
  blackberry? && !!(ua =~ %r[BlackBerry\d+/4])
end

def blackberry5?

Detect if is BlackBerry 5.
def blackberry5?
  blackberry? && !!(ua =~ %r[BlackBerry\d+/5])
end

def blackberry6?

Detect if is BlackBerry 6.
def blackberry6?
  blackberry? && !!(ua =~ %r[Version/6])
end

def blackberry7?

Detect if is BlackBerry 7.
def blackberry7?
  blackberry? && !!(ua =~ %r[Version/7])
end

def chrome_os?

Detect if current platform is ChromeOS
def chrome_os?
  !!(ua =~ /CrOS/)
end

def ios4?

Detect if is iOS4.
def ios4?
  ios? && !!(ua =~ /OS 4/)
end

def ios5?

Detect if is iOS5.
def ios5?
  ios? && !!(ua =~ /OS 5/)
end

def ios6?

Detect if is iOS6.
def ios6?
  ios? && !!(ua =~ /OS 6/)
end

def ios7?

Detect if is iOS7.
def ios7?
  ios? && !!(ua =~ /OS 7/)
end

def ios?

Detect if browser is ios?.
def ios?
  ipod? || ipad? || iphone?
end

def linux?

Detect if current platform is Linux flavor.
def linux?
  !!(ua =~ /Linux/)
end

def mac?

Detect if current platform is Macintosh.
def mac?
  !!(ua =~ /Mac OS X/)
end

def platform

Return the platform.
def platform
  case
  when linux?     then :linux
  when mac?       then :mac
  when windows?   then :windows
  else
    :other
  end
end

def windows8?

def windows8?
  windows? && !!(ua =~ /Windows NT 6.[2-3]/)
end

def windows?

Detect if current platform is Windows.
def windows?
  !!(ua =~ /Windows/)
end

def windows_mobile?

Detect if current platform is Windows Mobile.
def windows_mobile?
  !!(ua =~ /Windows CE/)
end

def windows_phone?

Detect if current platform is Windows Phone.
def windows_phone?
  !!(ua =~ /Windows Phone/)
end

def windows_rt?

def windows_rt?
  windows8? && !!(ua =~ /ARM/)
end

def windows_x64?

Detect if current platform is Windows in 64-bit architecture.
def windows_x64?
  windows? && !!(ua =~ /(Win64|x64)/) && !!(ua =~ /x64/)
end