Sha256: e6bd5bf66f2888332fa26cd56ca2f6904c16a263a8b6f1d623c617f2d42ba247
Contents?: true
Size: 1.91 KB
Versions: 4
Compression:
Stored size: 1.91 KB
Contents
module MailSpy module EmailHelper # Support for link clicks. def track_link(*args, &block) @_track_count ||= 0 if block_given? options = args.first || {} html_options = args.second track_link(capture(&block), options, html_options) else @_track_count += 1 name = args[0] options = args[1] || {} html_options = args[2] html_options = convert_options_to_data_attributes(options, html_options) url = url_for(options) href = html_options['href'] tag_options = tag_options(html_options) # Inject our tracking url, and pass in the redirect_url hash = { :controller => "mail_spy/tracking", :action => :link, :url => url, :only_path => false, :host => MailSpy.tracker_host, :n => @_track_count, :eid => @_email.id } # Add in the GA tokens if present hash[:utm_source] = @_email.utm_source if @_email.utm_source.present? hash[:utm_medium] = @_email.utm_medium if @_email.utm_medium.present? hash[:utm_campaign] = @_email.utm_campaign if @_email.utm_campaign.present? hash[:utm_term] = @_email.utm_term if @_email.utm_term.present? hash[:utm_content] = @_email.utm_content if @_email.utm_content.present? url = url_for(hash) href_attr = "href=\"#{ERB::Util.html_escape(url)}\"" unless href "<a #{href_attr}#{tag_options}>#{ERB::Util.html_escape(name || url)}</a>".html_safe end end # Support for open tracking, client support, etc def tracking_bug url = url_for( :controller => "mail_spy/tracking", :action => :bug, :eid => @_email.id, :only_path => false, :host => MailSpy.tracker_host ) "<img src='#{url}' style='display:none' width='1' height='1' border='0' />".html_safe end end end
Version data entries
4 entries across 4 versions & 1 rubygems