#SearchEngineReferer
Get meta information from search engine`s referer for
- google.com
- bing.com
- yandex.ru
- go.mail.ru
- nova.rambler.ru
##Instalation
Add the folowing line to Gemfile and then run bundle
command.
gem 'search_engine_referer'
##Usage
In your code use:
referer = SearchEngineReferer.parse('http://google.com?q=ruby&start=20')
referef.search_engine
referer.page
referer.query
non_search_enfine_referer = SearchEngineReferer.parse('http://example.com?q=ruby')
non_search_enfine_referef
##Middleware
Tiny middleware provided. It adds search_engine_referer
key to env with found referer. Examples:
-
Uses HTTP_REFERER
from env
use SearchEngineReferer::Middleware
-
Uses CUSTOM_ENV_KEY
for referer lookup
use SearchEngineReferer::Middleware, 'CUSTOM_ENV_KEY'
-
Uses provided proc for referer lookup
use SearchEngineReferer::Middleware do |env|
env['action_pack.cookies']['referer']
end
##Controller Helpers
Its add helpers for controllers and views: search_engine_referer
and search_engine_query
.
search_engine_referer_source
method for referer source manipulations.
By default it returns request.referer
. It can be overwritten in controller, for example:
def search_engine_referer_source
cookies[:search_engine_referer] || super
end
Note that helpers will use env['search_engine_referer']
if it provided by middleware
##Development
Fully tested pull requests are welcome.