Sha256: 1b5df2c3c10921c4cbacd843015a6251a39f92beb35d84e445d0939654f67bf6
Contents?: true
Size: 1.75 KB
Versions: 5
Compression:
Stored size: 1.75 KB
Contents
class UserAgent module Browsers class Chrome < Base def self.extend?(agent) agent.detect { |useragent| %w(Chrome CriOS).include?(useragent.product) } end def browser 'Chrome' end def build webkit.version end # Prior to Safari 3, the user agent did not include a version number def version str = if detect_product("CriOs") crios.version else chrome.version end Version.new(str) end def application self.reject { |agent| agent.comment.nil? || agent.comment.empty? }.first end def platform if application.nil? nil elsif application.comment[0] =~ /Windows/ 'Windows' elsif application.comment.any? { |c| c =~ /CrOS/ } 'ChromeOS' elsif application.comment.any? { |c| c =~ /Android/ } 'Android' else application.comment[0] end end def webkit detect { |useragent| useragent.product == "AppleWebKit" } end def os if 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 localization if application.nil? nil else application.comment[3] end end end end end
Version data entries
5 entries across 5 versions & 1 rubygems