lib/user_agent/operating_systems.rb in useragent-0.4.16 vs lib/user_agent/operating_systems.rb in useragent-0.5.0
- old
+ new
@@ -13,9 +13,21 @@
"Windows 95" => "Windows 95",
"Windows CE" => "Windows CE"
}.freeze
def self.normalize_os(os)
- Windows[os] || os
+ Windows[os] || normalize_mac_os_x(os) || os
end
+
+ private
+ 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.gsub('_', '.')
+ "OS X #{version}"
+ end
+ end
+ end
end
end