class Rack::Tracker::GoogleTagManager

Public Instance Methods

container() click to toggle source
# File lib/rack/tracker/google_tag_manager/google_tag_manager.rb, line 22
def container
  options[:container].respond_to?(:call) ? options[:container].call(env) : options[:container]
end
inject(response) click to toggle source
# File lib/rack/tracker/google_tag_manager/google_tag_manager.rb, line 9
def inject(response)
  # Sub! is enough, in well formed html there's only one head or body tag.
  # Block syntax need to be used, otherwise backslashes in input will mess the output.
  # @see http://stackoverflow.com/a/4149087/518204 and https://github.com/railslove/rack-tracker/issues/50
  response.sub! %r{<head.*?>} do |m|
    m.to_s << self.render_head
  end
  response.sub! %r{<body.*?>} do |m|
    m.to_s << self.render_body
  end
  response
end
render_body() click to toggle source
# File lib/rack/tracker/google_tag_manager/google_tag_manager.rb, line 30
def render_body
  Tilt.new( File.join( File.dirname(__FILE__), 'template', 'google_tag_manager_body.erb') ).render(self)
end
render_head() click to toggle source
# File lib/rack/tracker/google_tag_manager/google_tag_manager.rb, line 26
def render_head
  Tilt.new( File.join( File.dirname(__FILE__), 'template', 'google_tag_manager_head.erb') ).render(self)
end