module ActsAsReferred::Controller
Namespce for controller-related functionality
Protected Instance Methods
_supply_model_hook()
click to toggle source
The before_filter which processes necessary data for acts_as_referred
- models
# File lib/acts_as_referred/controller.rb, line 16 def _supply_model_hook # 3.2.1 -> adwords auto-tagging - (show hint to manual tag adwords): # ?gclid=xxxx # 3.2.2 -> manual tagging # ?utm_source=google&utm_medium=cpc&utm_term=my_keyword&utm_campaign=my_summerdeal # 3.2.3 -> manual url-tagging specific for piwik # ?pk_campaign=my_summerdeal&pk_kwd=my_keyword # cookie / session persisted: # e.g.: "req=http://foo/baz?utm_campaign=plonk|ref=http://google.com/search|count=0" tmp = session[:__reqref] _struct = nil if tmp arr = tmp.split('|') _struct = OpenStruct.new( request_url: arr[0].split('=',2)[1], referrer_url: minlength_or_nil(arr[1].split('=',2)[1]), visit_count: arr[2].split('=',2)[1].to_i ) end ActiveRecord::Base.send( :define_method, '_get_reqref', proc{ _struct } ) end
Private Instance Methods
_increment_returning_count(tmp)
click to toggle source
# File lib/acts_as_referred/controller.rb, line 74 def _increment_returning_count(tmp) arr = tmp.split('|') arr[-1] = "ret=#{arr[-1].split('=')[-1].to_i + 1}" arr.join('|') end
minlength_or_nil(string)
click to toggle source
# File lib/acts_as_referred/controller.rb, line 80 def minlength_or_nil(string) URI.parse(string).host ? string : nil end