Module: YouthTree::Helpers::AnalyticsHelper

Defined in:
lib/youth_tree/helpers/analytics_helper.rb

Instance Method Summary collapse

Instance Method Details

#analytics_codeObject



37
38
39
# File 'lib/youth_tree/helpers/analytics_helper.rb', line 37

def analytics_code
  [clicky_analytics, google_analytics].compact.sum(ActiveSupport::SafeBuffer.new)
end

#clicky_analyticsObject



20
21
22
23
24
25
26
27
28
29
# File 'lib/youth_tree/helpers/analytics_helper.rb', line 20

def clicky_analytics
  if Settings.clicky.site_id?
    content = ActiveSupport::SafeBuffer.new
    site_id = Settings.clicky.site_id.to_i;
    content << javascript_tag(clicky_snippet_js(site_id))
    static_image_tag = tag(:img, :width => 1, :height => 1, :src => "#{request.protocol}in.getclicky.com/#{site_id}ns.gif")
    content << (:noscript, (:div, static_image_tag, :class => 'clicky-tracker'))
    content
  end
end

#clicky_snippet_js(site_id) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/youth_tree/helpers/analytics_helper.rb', line 5

def clicky_snippet_js(site_id)
  value = "    var clicky = {log:function(){return;},goal:function(){return;}};\n    var clicky_site_id = \#{site_id};\n    (function() {\n      var s = document.createElement('script');\n      s.type = 'text/javascript';\n      s.async = true;\n      s.src = (document.location.protocol + '//static.getclicky.com/js');\n      (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(s);\n    })();\n  END_OF_JS\n  value.gsub(/^\\s{10}/, '')\nend\n"

#google_analyticsObject



31
32
33
34
35
# File 'lib/youth_tree/helpers/analytics_helper.rb', line 31

def google_analytics
  if Settings.google_analytics.identifier?
    javascript_tag(google_analytics_snippet_js(Settings.google_analytics.identifier))
  end
end

#google_analytics_snippet_js(identifier) ⇒ Object



41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/youth_tree/helpers/analytics_helper.rb', line 41

def google_analytics_snippet_js(identifier)
  value = "    var _gaq = _gaq || [];\n    _gaq.push(['_setAccount', \#{identifier.to_json}]);\n    _gaq.push(['_trackPageview']);\n    (function() {\n      var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\n      ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n      var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n    })();\n  END_OF_JS\n  value.gsub(/^\\s{10}/, '')\nend\n"