Method: UTM.build_params
- Defined in:
- lib/utm.rb
.build_params(utm = {}) ⇒ Object
Campaign Name (utm_campaign) Used for keyword analysis. Use utm_campaign to identify a specific product promotion or strategic campaign.
-
Example: utm_campaign=spring_sale
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/utm.rb', line 37 def self.build_params(utm = {}) new = {} new[:utm_source] = utm[:utm_source] || conf.utm_source new[:utm_term] = utm[:utm_term] || conf.utm_term new[:utm_medium] = utm[:utm_medium] || conf.utm_medium new[:utm_content] = utm[:utm_content] || conf.utm_content new[:utm_campaign] = utm[:utm_campaign] || conf.utm_campaign new.select! {|field, content| content != nil} raise UTMError, "Missing mandatory fields" if new.values_at(*MANDATORY_FIELDS).include?(nil) parameters = new.map { |field, content| "#{field}=#{CGI.escape(content.to_s)}" unless content.nil? } parameters.sort.join("&") end |