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