Sha256: 03db96a58c42b243b801a0b45cd9a56b3ba69c4b14fdfca426c927f297702528

Contents?: true

Size: 1.15 KB

Versions: 7

Compression:

Stored size: 1.15 KB

Contents

format :html do
  def views_in_head
    super << :google_analytics_snippet
  end

  view :google_analytics_snippet, tags: :unknown_ok do
    return unless google_analytics_key
    javascript_tag { google_analytics_snippet_javascript }
  end

  def google_analytics_key
    @google_analytics_key ||= Card.global_setting :google_analytics_key
  end

  def google_analytics_snippet_vars
    [[:_setAccount, google_analytics_key],
     [:_trackPageview]]
  end

  def google_analytics_snippet_vars_string
    google_analytics_snippet_vars.map do |array|
      <<-JAVASCRIPT
      _gaq.push([#{array.map { |i| "'#{i}'" }.join ', '}]);
      JAVASCRIPT
    end.join
  end

  def google_analytics_snippet_javascript
    <<-JAVASCRIPT
      var _gaq = _gaq || [];#{"\n" + google_analytics_snippet_vars_string}
      (function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
      })();
    JAVASCRIPT
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
card-1.97.0 mod/google_analytics/set/all/google_analytics.rb
card-1.96.8 mod/google_analytics/set/all/google_analytics.rb
card-1.96.7 mod/google_analytics/set/all/google_analytics.rb
card-1.96.6 mod/google_analytics/set/all/google_analytics.rb
card-1.96.5 mod/google_analytics/set/all/google_analytics.rb
card-1.96.4 mod/google_analytics/set/all/google_analytics.rb
card-1.96.3 mod/google_analytics/set/all/google_analytics.rb