module UserAgent::OperatingSystems
def self.normalize_chrome_os(os)
def self.normalize_chrome_os(os) if os =~ /CrOS\s([^\s]+)\s(\d+(\.\d+)*)/ if $2.nil? "ChromeOS" else version = $2 "ChromeOS #{version}" end end end
def self.normalize_ios(os)
def self.normalize_ios(os) if os =~ IOS_VERSION_REGEX if $1.nil? "iOS" else version = $1.tr('_', '.') "iOS #{version}" end end end
def self.normalize_mac_os_x(os)
def self.normalize_mac_os_x(os) if os =~ /(?:Intel|PPC) Mac OS X\s*([0-9_\.]+)?/ if $1.nil? "OS X" else version = $1.tr('_', '.') "OS X #{version}" end end end
def self.normalize_os(os)
def self.normalize_os(os) Windows[os] || normalize_mac_os_x(os) || normalize_ios(os) || normalize_chrome_os(os) || os end