Class: Rack::Tracker::GoogleTagManager
- Inherits:
-
Handler
- Object
- Handler
- Rack::Tracker::GoogleTagManager
show all
- Defined in:
- lib/rack/tracker/google_tag_manager/google_tag_manager.rb
Defined Under Namespace
Classes: Push
Constant Summary
JavaScriptHelper::JS_ESCAPE_MAP
Instance Attribute Summary
Attributes inherited from Handler
#env, #options
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Handler
#events, #handler_name, #initialize, process_track, #render, #write_event
#escape_javascript
Class Method Details
.track(name, *event) ⇒ Object
34
35
36
|
# File 'lib/rack/tracker/google_tag_manager/google_tag_manager.rb', line 34
def self.track(name, *event)
{ name.to_s => [event.last.merge('class_name' => event.first.to_s.capitalize)] }
end
|
Instance Method Details
#container ⇒ Object
22
23
24
|
# 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) ⇒ Object
9
10
11
12
13
14
15
16
17
18
19
20
|
# File 'lib/rack/tracker/google_tag_manager/google_tag_manager.rb', line 9
def inject(response)
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 ⇒ Object
30
31
32
|
# 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 ⇒ Object
26
27
28
|
# 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
|