- Ruby >= 1.9.2
Note: Ruby 1.8.7 is not supported due to the requirement for the newer psych YAML parser. If you can get it working on 1.8.7 please send a pull request.
$ gem install user_agent_parser
require 'user_agent_parser' => true ua = UserAgentParser.parse 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0;)' => #<UserAgentParser::UserAgent IE 9.0 (Windows Vista)> ua.to_s => "IE 9.0 (Windows Vista)" ua.family => "IE" ua.version.to_s => "9.0" ua.version => 9 ua.version => 0 ua.os.name => "Windows Vista"
The pattern database
You can also specify the path to your own, updated and/or customised
UserAgentParser.patterns_path = '/some/path/to/regexes.yaml'
Comprehensive you say?
$ rake test ... Finished tests in 144.220280s, 89.0027 tests/s, 234.9739 assertions/s. 12836 tests, 33888 assertions, 0 failures, 0 errors, 0 skips
Chrome Frame detection is not yet included, but once ua-parser issue #14 is resolved this gem will be updated along with it.
- Send a pull request
All accepted pull requests will earn you commit and release rights.