Skip to content

notch8-old/user_agent_info

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Author

Mehmet Celik (mehmet at celik.be)

Hosted on Gemcutter

gem install user_agent_info Your Rails app add next line to config/environment.rb config.gem “user_agent_info”

It extends ActionController::Request and parses the requests HTTP_USER_AGENT header so it can be queried. The supported browsers are IE, Firefox, Chrome, Opera

class UpgradeBrowserController < ApplicationController

		def index
  			@upgrade = request.user_agent_info.isIE_or_worse?('6.0')   
		end

end

Depending on your browser you could get output like this request.user_agent_info ==> Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.4) Gecko/20091016 Firefox/3.5.4 request.user_agent_info ==> Macintosh request.user_agent_info ==> Firefox request.user_agent_info ==> Mozilla Firefox request.user_agent_info ==> Intel Mac OS X 10.5 request.user_agent_info ==> en-US request.user_agent_info ==> 3.5 request.user_agent_info ==> Gecko/20091016

Query for specific browsers request.user_agent_info.isIE? ==> true if browser is Internet Explorer request.user_agent_info.isFirefox? ==> true if browser is Mozilla Firefox request.user_agent_info.isChrome? ==> true if browser is Google Chrome request.user_agent_info.isOpera? ==> true if browser is Opera

You can also query if it is better or worse then a certain browser version. The example below uses IE but you can replace it by Firefox, Chrome or Opera request.user_agent_info.isIE?(‘6.0’) ==> true if browser is Internet Explorer version 6.0 ‘==’ request.user_agent_info.isIE_or_worse?(‘6.0’) ==> true if browser is Internet Explorer version worse or equal to 6.0 ‘<=’ request.user_agent_info.isIE_and_worse?(‘6.0’) ==> true if browser is Internet Explorer version worse then 6.0 ‘<’ request.user_agent_info.isIE_or_better?(‘6.0’) ==> true if browser is Internet Explorer version better or equal to 6.0 ‘>=’ request.user_agent_info.isIE_and_better?(‘6.0’) ==> true if browser is Internet Explorer version better then 6.0 ‘>’

About

simplify user-agent detection in Rails

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 100.0%