module UserAgent::Browsers::Webkit
def self.extend?(agent)
def self.extend?(agent) agent.detect { |useragent| useragent.product == 'AppleWebKit' } end
def application
def application self.reject { |agent| agent.comment.nil? || agent.comment.empty? }.first end
def browser
def browser if detect_product('Chrome') 'Chrome' elsif os =~ /Android/ 'Android' elsif platform == 'webOS' || platform == 'BlackBerry' || platform == 'Symbian' platform else 'Safari' end end
def build
def build webkit.version end
def localization
def localization if application.nil? nil elsif platform == 'webOS' application.comment[2] else application.comment[3] end end
def os
def os if platform == 'webOS' "Palm #{last.product} #{last.version}" elsif platform == 'Symbian' application.comment[0] elsif application if application.comment[0] =~ /Windows NT/ OperatingSystems.normalize_os(application.comment[0]) elsif application.comment[2].nil? OperatingSystems.normalize_os(application.comment[1]) elsif application.comment[1] =~ /Android/ OperatingSystems.normalize_os(application.comment[1]) else OperatingSystems.normalize_os(application.comment[2]) end else nil end end
def platform
def platform if application.nil? nil elsif application.comment[0] =~ /Symbian/ 'Symbian' elsif application.comment[0] =~ /webOS/ 'webOS' elsif application.comment[0] =~ /Windows/ 'Windows' elsif application.comment[0] == 'BB10' 'BlackBerry' else application.comment[0] end end
def security
def security Security[application.comment[1]] end
def version
def version str = if os =~ /CPU (?:iPhone |iPod )?OS ([\d_]+) like Mac OS X/ $1.gsub(/_/, '.') elsif product = detect_product('Version') product.version elsif browser == 'Chrome' chrome.version else BuildVersions[build.to_s] end Version.new(str) if str end
def webkit
def webkit detect { |useragent| useragent.product == "AppleWebKit" } end
def webkit?
def webkit? true end