UserAgent is a Ruby library that parses and compares HTTP User Agents.
gem install useragent
string = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5' user_agent = UserAgent.parse(string) user_agent.browser # => 'Chrome' user_agent.version # => '19.0.1084.56' user_agent.platform # => 'Macintosh' user_agent.mobile? # => false
Browser = Struct.new(:browser, :version) SupportedBrowsers = [ Browser.new("Safari", "3.1.1"), Browser.new("Firefox", "2.0.0.14"), Browser.new("Internet Explorer", "7.0") ] user_agent = UserAgent.parse(request.user_agent) SupportedBrowsers.detect { |browser| user_agent >= browser }
Copyright © 2009 Joshua Peek, released under the MIT license