Module: Browser::Platform

Included in:
Browser
Defined in:
lib/browser/methods/platform.rb

Instance Method Summary collapse

Instance Method Details

#android?(version = nil) ⇒ Boolean

Detect if browser is Android.

Returns:

  • (Boolean)


4
5
6
# File 'lib/browser/methods/platform.rb', line 4

def android?(version = nil)
  !!(ua =~ /Android/ && !opera?) && detect_version?(android_version, version)
end

#android_versionObject

Detect Android version.



9
10
11
# File 'lib/browser/methods/platform.rb', line 9

def android_version
  ua[/Android ([\d.]+)/, 1]
end

#chrome_os?Boolean

Detect if current platform is ChromeOS

Returns:

  • (Boolean)


127
128
129
# File 'lib/browser/methods/platform.rb', line 127

def chrome_os?
  in_ua? 'CrOS'
end

#ios4?Boolean

Detect if is iOS4.

Returns:

  • (Boolean)


24
25
26
27
# File 'lib/browser/methods/platform.rb', line 24

def ios4?
  deprecate "Browser##{__method__} is deprecated; use Browser#ios?(version) instead"
  ios?(4)
end

#ios5?Boolean

Detect if is iOS5.

Returns:

  • (Boolean)


30
31
32
33
# File 'lib/browser/methods/platform.rb', line 30

def ios5?
  deprecate "Browser##{__method__} is deprecated; use Browser#ios?(version) instead"
  ios?(5)
end

#ios6?Boolean

Detect if is iOS6.

Returns:

  • (Boolean)


36
37
38
39
# File 'lib/browser/methods/platform.rb', line 36

def ios6?
  deprecate "Browser##{__method__} is deprecated; use Browser#ios?(version) instead"
  ios?(6)
end

#ios7?Boolean

Detect if is iOS7.

Returns:

  • (Boolean)


42
43
44
45
# File 'lib/browser/methods/platform.rb', line 42

def ios7?
  deprecate "Browser##{__method__} is deprecated; use Browser#ios?(version) instead"
  ios?(7)
end

#ios8?Boolean

Detect if is iOS8.

Returns:

  • (Boolean)


48
49
50
51
# File 'lib/browser/methods/platform.rb', line 48

def ios8?
  deprecate "Browser##{__method__} is deprecated; use Browser#ios?(version) instead"
  ios?(8)
end

#ios9?Boolean

Detect if is iOS9.

Returns:

  • (Boolean)


54
55
56
57
# File 'lib/browser/methods/platform.rb', line 54

def ios9?
  deprecate "Browser##{__method__} is deprecated; use Browser#ios?(version) instead"
  ios?(9)
end

#ios?(version = nil) ⇒ Boolean

Detect if browser is ios?.

Returns:

  • (Boolean)


19
20
21
# File 'lib/browser/methods/platform.rb', line 19

def ios?(version = nil)
  (ipod? || ipad? || iphone?) && detect_version?(ios_version, version)
end

#ios_versionObject

Return the iOS version.



14
15
16
# File 'lib/browser/methods/platform.rb', line 14

def ios_version
  ua[/OS (\d)/, 1]
end

#linux?Boolean

Detect if current platform is Linux flavor.

Returns:

  • (Boolean)


122
123
124
# File 'lib/browser/methods/platform.rb', line 122

def linux?
  in_ua? 'Linux'
end

#mac?Boolean

Detect if current platform is Macintosh.

Returns:

  • (Boolean)


60
61
62
# File 'lib/browser/methods/platform.rb', line 60

def mac?
  !!(ua =~ /Mac OS X/ && !ios?)
end

#platformObject

Return the platform.



132
133
134
135
136
137
138
139
140
# File 'lib/browser/methods/platform.rb', line 132

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

#windows10?Boolean

Returns:

  • (Boolean)


90
91
92
# File 'lib/browser/methods/platform.rb', line 90

def windows10?
  windows? && !!(ua =~ /Windows NT 10/)
end

#windows7?Boolean

Returns:

  • (Boolean)


78
79
80
# File 'lib/browser/methods/platform.rb', line 78

def windows7?
  windows? && !!(ua =~ /Windows NT 6.1/)
end

#windows8?Boolean

Returns:

  • (Boolean)


82
83
84
# File 'lib/browser/methods/platform.rb', line 82

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

#windows8_1?Boolean

Returns:

  • (Boolean)


86
87
88
# File 'lib/browser/methods/platform.rb', line 86

def windows8_1?
  windows? && !!(ua =~ /Windows NT 6\.3/)
end

#windows?Boolean

Detect if current platform is Windows.

Returns:

  • (Boolean)


65
66
67
# File 'lib/browser/methods/platform.rb', line 65

def windows?
  !!(ua =~ /Windows/)
end

#windows_mobile?Boolean

Detect if current platform is Windows Mobile.

Returns:

  • (Boolean)


99
100
101
# File 'lib/browser/methods/platform.rb', line 99

def windows_mobile?
  !!(ua =~ /Windows CE/)
end

#windows_phone?Boolean

Detect if current platform is Windows Phone.

Returns:

  • (Boolean)


104
105
106
# File 'lib/browser/methods/platform.rb', line 104

def windows_phone?
  !!(ua =~ /Windows Phone/)
end

#windows_rt?Boolean

Returns:

  • (Boolean)


94
95
96
# File 'lib/browser/methods/platform.rb', line 94

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

#windows_vista?Boolean

Returns:

  • (Boolean)


74
75
76
# File 'lib/browser/methods/platform.rb', line 74

def windows_vista?
  windows? && !!(ua =~ /Windows NT 6.0/)
end

#windows_wow64?Boolean

Returns:

  • (Boolean)


113
114
115
# File 'lib/browser/methods/platform.rb', line 113

def windows_wow64?
  windows? && !!(ua =~ /WOW64/i)
end

#windows_x64?Boolean

Detect if current platform is Windows in 64-bit architecture.

Returns:

  • (Boolean)


109
110
111
# File 'lib/browser/methods/platform.rb', line 109

def windows_x64?
  windows? && !!(ua =~ /(Win64|x64)/) && !!(ua =~ /x64/)
end

#windows_x64_inclusive?Boolean

Returns:

  • (Boolean)


117
118
119
# File 'lib/browser/methods/platform.rb', line 117

def windows_x64_inclusive?
  windows_x64? || windows_wow64?
end

#windows_xp?Boolean

Returns:

  • (Boolean)


70
71
72
# File 'lib/browser/methods/platform.rb', line 70

def windows_xp?
  windows? && !!(ua =~ /Windows NT 5.1/)
end