class Browser::Platform
Attributes
ua[R]
Public Class Methods
matchers()
click to toggle source
Hold the list of platform matchers. Order is important.
# File lib/browser/platform.rb, line 10 def self.matchers @matchers ||= [ AdobeAir, ChromeOS, WindowsMobile, WindowsPhone, Android, BlackBerry, IOS, Mac, FirefoxOS, Windows, Linux, Other ] end
new(ua)
click to toggle source
# File lib/browser/platform.rb, line 27 def initialize(ua) @ua = ua end
Public Instance Methods
==(other)
click to toggle source
# File lib/browser/platform.rb, line 101 def ==(other) id == other end
adobe_air?()
click to toggle source
# File lib/browser/platform.rb, line 37 def adobe_air? id == :adobe_air end
android?(expected_version = nil)
click to toggle source
# File lib/browser/platform.rb, line 45 def android?(expected_version = nil) id == :android && detect_version?(version, expected_version) end
blackberry?(expected_version = nil)
click to toggle source
# File lib/browser/platform.rb, line 73 def blackberry?(expected_version = nil) id == :blackberry && detect_version?(version, expected_version) end
chrome_os?()
click to toggle source
# File lib/browser/platform.rb, line 41 def chrome_os? id == :chrome_os end
firefox_os?()
click to toggle source
# File lib/browser/platform.rb, line 65 def firefox_os? id == :firefox_os end
id()
click to toggle source
# File lib/browser/platform.rb, line 85 def id subject.id end
ios?(expected_version = nil)
click to toggle source
# File lib/browser/platform.rb, line 69 def ios?(expected_version = nil) id == :ios && detect_version?(version, expected_version) end
ios_app?()
click to toggle source
Detect if running on iOS app webview.
# File lib/browser/platform.rb, line 106 def ios_app? ios? && !ua.include?("Safari") end
ios_webview?()
click to toggle source
Detect if is iOS webview.
# File lib/browser/platform.rb, line 111 def ios_webview? ios_app? end
linux?()
click to toggle source
# File lib/browser/platform.rb, line 53 def linux? id == :linux end
mac?()
click to toggle source
# File lib/browser/platform.rb, line 57 def mac? id == :mac end
name()
click to toggle source
# File lib/browser/platform.rb, line 93 def name subject.name end
other?()
click to toggle source
# File lib/browser/platform.rb, line 49 def other? id == :other end
subject()
click to toggle source
# File lib/browser/platform.rb, line 31 def subject @subject ||= self.class.matchers .map {|matcher| matcher.new(ua) } .find(&:match?) end
to_s()
click to toggle source
# File lib/browser/platform.rb, line 97 def to_s id.to_s end
version()
click to toggle source
# File lib/browser/platform.rb, line 89 def version subject.version end
windows10?()
click to toggle source
# File lib/browser/platform.rb, line 136 def windows10? windows? && ua =~ /Windows NT 10/ end
windows7?()
click to toggle source
# File lib/browser/platform.rb, line 124 def windows7? windows? && ua =~ /Windows NT 6\.1/ end
windows8?()
click to toggle source
# File lib/browser/platform.rb, line 128 def windows8? windows? && ua =~ /Windows NT 6\.[2-3]/ end
windows8_1?()
click to toggle source
# File lib/browser/platform.rb, line 132 def windows8_1? windows? && ua =~ /Windows NT 6\.3/ end
windows?()
click to toggle source
# File lib/browser/platform.rb, line 61 def windows? id == :windows end
windows_mobile?(expected_version = nil)
click to toggle source
# File lib/browser/platform.rb, line 81 def windows_mobile?(expected_version = nil) id == :windows_mobile && detect_version?(version, expected_version) end
windows_phone?(expected_version = nil)
click to toggle source
# File lib/browser/platform.rb, line 77 def windows_phone?(expected_version = nil) id == :windows_phone && detect_version?(version, expected_version) end
windows_rt?()
click to toggle source
# File lib/browser/platform.rb, line 140 def windows_rt? windows8? && ua =~ /ARM/ end
windows_touchscreen_desktop?()
click to toggle source
# File lib/browser/platform.rb, line 157 def windows_touchscreen_desktop? windows? && ua =~ /Touch/ end
windows_vista?()
click to toggle source
# File lib/browser/platform.rb, line 120 def windows_vista? windows? && ua =~ /Windows NT 6\.0/ end
windows_wow64?()
click to toggle source
# File lib/browser/platform.rb, line 149 def windows_wow64? windows? && ua =~ /WOW64/i end
windows_x64?()
click to toggle source
Detect if current platform is Windows in 64-bit architecture.
# File lib/browser/platform.rb, line 145 def windows_x64? windows? && ua =~ /(Win64|x64|Windows NT 5\.2)/ end
windows_x64_inclusive?()
click to toggle source
# File lib/browser/platform.rb, line 153 def windows_x64_inclusive? windows_x64? || windows_wow64? end
windows_xp?()
click to toggle source
msdn.microsoft.com/fr-FR/library/ms537503.aspx#PltToken
# File lib/browser/platform.rb, line 116 def windows_xp? windows? && ua =~ /Windows NT 5\.[12]/ end