class Browser::Base
Attributes
accept_language[R]
Return an array with all preferred languages that this browser accepts.
ua[R]
Public Class Methods
new(ua, accept_language: nil)
click to toggle source
# File lib/browser/base.rb, line 11 def initialize(ua, accept_language: nil) @ua = ua @accept_language = AcceptLanguage.parse(accept_language) end
Public Instance Methods
bot()
click to toggle source
Return the bot info.
# File lib/browser/base.rb, line 38 def bot @bot ||= Bot.new(ua) end
bot?()
click to toggle source
Detect if current user agent is from a bot.
# File lib/browser/base.rb, line 43 def bot? bot.bot? end
chrome?()
click to toggle source
Detect if browser is Chrome.
# File lib/browser/base.rb, line 115 def chrome? Chrome.new(ua).match? end
compatibility_view?()
click to toggle source
# File lib/browser/base.rb, line 68 def compatibility_view? false end
core_media?()
click to toggle source
Detect if browser is Apple CoreMedia.
# File lib/browser/base.rb, line 91 def core_media? ua =~ /CoreMedia/ end
device()
click to toggle source
Return the device info.
# File lib/browser/base.rb, line 48 def device @device ||= Device.new(ua) end
edge?()
click to toggle source
Detect if browser is Microsoft Edge.
# File lib/browser/base.rb, line 64 def edge? Edge.new(ua).match? end
firefox?()
click to toggle source
Detect if browser is Firefox.
# File lib/browser/base.rb, line 110 def firefox? Firefox.new(ua).match? end
ie?(expected_version = nil)
click to toggle source
Detect if browser is Microsoft Internet Explorer.
# File lib/browser/base.rb, line 58 def ie?(expected_version = nil) InternetExplorer.new(ua).match? && detect_version?(version, expected_version) end
known?()
click to toggle source
# File lib/browser/base.rb, line 148 def known? id != :generic end
meta()
click to toggle source
Return a meta info about this browser.
# File lib/browser/base.rb, line 17 def meta Meta.get(self) end
Also aliased as: to_a
modern?()
click to toggle source
msie_full_version()
click to toggle source
# File lib/browser/base.rb, line 72 def msie_full_version "0.0" end
msie_version()
click to toggle source
# File lib/browser/base.rb, line 76 def msie_version "0" end
nokia?()
click to toggle source
opera?()
click to toggle source
Detect if browser is Opera.
# File lib/browser/base.rb, line 120 def opera? Opera.new(ua).match? end
opera_mini?()
click to toggle source
Detect if browser is Opera Mini.
# File lib/browser/base.rb, line 140 def opera_mini? ua =~ /Opera Mini/ end
phantom_js?()
click to toggle source
Detect if browser is PhantomJS
# File lib/browser/base.rb, line 96 def phantom_js? PhantomJS.new(ua).match? end
platform()
click to toggle source
Return the platform.
# File lib/browser/base.rb, line 33 def platform @platform ||= Platform.new(ua) end
proxy?()
click to toggle source
Detect if browser is a proxy browser.
# File lib/browser/base.rb, line 153 def proxy? nokia? || uc_browser? || opera_mini? end
quicktime?()
click to toggle source
Detect if browser is QuickTime
# File lib/browser/base.rb, line 86 def quicktime? ua =~ /QuickTime/i end
safari?(expected_version = nil)
click to toggle source
Detect if browser is Safari.
# File lib/browser/base.rb, line 101 def safari?(expected_version = nil) Safari.new(ua).match? && detect_version?(version, expected_version) end
safari_webapp_mode?()
click to toggle source
# File lib/browser/base.rb, line 105 def safari_webapp_mode? (device.ipad? || device.iphone?) && ua =~ /AppleWebKit/ end
to_s()
click to toggle source
Return meta representation as string.
# File lib/browser/base.rb, line 24 def to_s meta.to_a.join(" ") end
uc_browser?()
click to toggle source
Detect if browser is UCBrowser.
# File lib/browser/base.rb, line 130 def uc_browser? UCBrowser.new(ua).match? end
version()
click to toggle source
# File lib/browser/base.rb, line 28 def version full_version.split(".").first end
webkit?()
click to toggle source
Detect if browser is WebKit-based.
# File lib/browser/base.rb, line 81 def webkit? ua =~ /AppleWebKit/i && !edge? end
webkit_full_version()
click to toggle source
# File lib/browser/base.rb, line 144 def webkit_full_version ua[%r[AppleWebKit/([\d.]+)], 1] || "0.0" end
yandex?()
click to toggle source
Detect if browser is Yandex.
# File lib/browser/base.rb, line 125 def yandex? ua =~ /YaBrowser/ end